我在使用DialogFragment中的SharedPreferences时遇到了一些麻烦。我不断收到sharedPreferences = getActivity().getSharedPreferences("pref", 0);
的NullPointerException。 这里是可能的基本代码。SharedPreferences DialogFragment中的NullPointerException
public class ADialogFragment extends DialogFragment implements DialogInterface.OnClickListener {
SharedPreferences sharedPreferences;
public ADialogFragment(int a) {
sharedPreferences = getActivity().getSharedPreferences("pref", 0);
if (a == 0) {
saveToPref(0);
} else if (a == 1) {
saveToPref(1);
} else saveToPref(2);
}
private void saveToPref(int itemInt) {
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putInt(getString(R.string.item), itemInt);
editor.commit();
}
public Dialog onCreateDialog(Bundle savedInstanceState) {
...
}
}
我该如何解决?
请学习片段生命周期...你没有获取片段没有附加到它的活动... – Selvin
你可以发布堆栈跟踪。它让其他人更容易回答。 – shreyas