我实现了以下代码,以便使用片段进行滑动视图:
public class FragmentMain extends Fragment {
public FragmentMain() {
}
public static FragmentMain newInstance() {
FragmentMain fragment = new FragmentMain();
return fragment;
}
public TextView STRScore;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container, false);
return rootView;
loadSavedPreferences();
}
我正在尝试在创建片段时加载一些SharedPreferences作为方法。如何在不进入NPE的情况下调用该方法?
编辑:我的方法是
public void loadSavedPreferences() {
SharedPreferences sharedPreferences = PreferenceManager
.getDefaultSharedPreferences(getContext());
String name = sharedPreferences.getString("storedSTRScore", "12");
STRScore.setText(name);
答案 0 :(得分:0)
您可以在其中一个生成SharedPreferences
上下文的生命周期方法中加载Activity
,因为您需要一个Context来获取首选项。所以onAttach()
之后的任何事都应该有用。您甚至可以将其放在onCreateView
方法中。
SharedPreferences preferences = getActivity().getSharedPreferences("myPrefs", Context.MODE_PRIVATE);
或者如果您想要默认偏好
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getActivity());