有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

方向更改时的java NullPointerException

我有一个偏好活动,当它改变方向时,我会出现以下错误:

java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.安卓.material.floatingactionbutton.FloatingActionButton.setOnClickListener(安卓.view.View$OnClickListener)' on a null object reference

以下是具体发生碰撞的地方:

public class SomeActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        .
        .
        .
    }

    public static class SettingsFragment extends PreferenceFragmentCompat {
        setPreferencesFromResource(R.xml.some_preferences, rootKey);
        .
        .
        final FloatingActionButton brightnessFloatingActionButton = getActivity().findViewById(R.id.brightnessFloatingActionButton);
        brightnessFloatingActionButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                saveData(sharedPreferences, gson, brightness_level_preference, packageName);
                getActivity().finish();
            }
        });
        .
        .
    }
}

如果删除setOnCLickListener语句,则不会再发生方向崩溃。这里有什么问题


共 (1) 个答案

  1. # 1 楼答案

    在清单中添加以下行

     android:configChanges="orientation|screenSize"