【发布时间】:2015-10-20 13:42:22
【问题描述】:
我在 DialogFragment 中使用 SharedPreferences 时遇到了一些问题。我不断在sharedPreferences = getActivity().getSharedPreferences("pref", 0); 中收到 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) {
...
}
}
我该如何解决?
【问题讨论】:
-
请学习片段生命周期...当片段未附加到它时您无法获得活动...
-
你能发布堆栈跟踪吗?它使其他人更容易回答。
标签: java android fragment sharedpreferences dialogfragment