我在选项卡中使用sherlock片段,但我无法访问sharedpreference
或保存它,我该怎么办?这是我的代码:
public class SettingsActivity extends SherlockFragment {
private CheckBox cb1;
private Context context = getActivity();
private SharedPreferences sp;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.settings_layout, container, false);
cb1 = (CheckBox)rootView.findViewById(R.id.cb1);
sp = PreferenceManager.getDefaultSharedPreferences(getActivity());
cb1.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged (CompoundButton cb, boolean isChecked) {
if (isChecked) {
context.getSharedPreferences("some_pref", Context.MODE_PRIVATE)
.edit()
.putBoolean("some_bool_name", true)
.commit();
}
}
});
return rootView;
}
}
Run Code Online (Sandbox Code Playgroud)
如果上述方法不正确,请告诉我如何保存首选项.
logcat的
11-13 18:13:36.907:I/ActivityManager(10626):START u0 {act = android.intent.action.MAIN cat = [android.intent.category.LAUNCHER] …