我在使用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