タブにシャーロックフラグメントを使用していますが、sharedpreference
にアクセスできません。どうすればできますか?これは私のコードです:SherlockFragmentのsharedpreferencesにアクセスする方法
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;
}
}
また、上記の方法が正しくない場合は、環境設定を保存する方法を教えてください。
LogCat
11-13 18:13:36.907:I/ActivityManager(10626):スタートU0 {行為= android.intent.action.MAIN猫= [android.intent.category。ランチャー] flg = 0x10200000 cmp = com.myapp.test/.MainActivity} from pid 10836 11-13 18:13:36.907:D/ActivityManager(10626):TopActivityInfo、pkgName:com.myapp.test activityName:com.myappアプリケーション名:MyApp、currentPkg:com.myapp.test、イベント:app_launch、controller:Keyboard 11-13 18:13:36.907:D/GuidanceScreen(10824):appName:MyApp、currentPkg:com.myapp.testイベント:app_launch、コントローラ:キーボード 11-13 18: 13:36.907:D/ActivityManager(1 0626):pkgNameのガイダンスを表示します。com.myapp.test 11-13 18:13:36.917:D/GuidanceScreen(10824):appName:My App 11-13 18:13:36.987:D/GuidanceScreen(10824) com.myapp.testのガイダンスはありません。 11-13 18:13:37.037:D/WindowManager(10626):データとともにappClickStatsリクエストを送信する:[パッケージ= com.myapp.test、appname = My App、appver = 1.0、clickloc = system_server] 11-13 18 :13:37.237:I/ActivityManager(10626):表示com.myapp.test/.MainActivity:+ 260ms 11-13 18:13:46.227:D/AndroidRuntime(15464):procName from cmdline:com.myapp.test 11-13 18:13:46.227:E/AndroidRuntime(15464):writeCrashedAppName、pkgName:com.myapp.test 11-13 18:13:46.227:D/AndroidRuntime(15464):コンテンツで正常に書き込まれたファイル: com.myapp.test StringBuffer:; com.myapp.test 11-13 18:13:46.237:E/AndroidRuntime(15464):プロセス:com.myapp.test、PID:15464 11-13 18:13:46.237 :E/AndroidRuntime(15464):com.myapp.test.SettingsActivity.onCreateView(SettingsActivity.java:40) 11-13 18:13:46.267:I/ActivityManager(10626):プロセスcom.myapp.test(pid 15464)が終了しました。 11-13 18:13:46.267:W/ActivityManager(10626):強制的にActivityRecord {4b12da0c u0 com.myapp.test/.MainActivity t17}を削除しました:アプリが死亡しました。保存されていません 11-13 18:13:46.287: I /のWindowState(10626):WINのDEATH:
private SharedPreferences loginPreferences; private SharedPreferences.Editor loginPrefsEditor;
内部onCreateView():ウィンドウ{4b1ac890 U0 com.myapp.test/com.myapp.test.MainActivity}
問題は何ですか?あなたはエラーがありますか?またはデータが保存されませんか? – walkmn
アプリを強制終了します。そのようなSPにアクセスしようとすると、 –
はlogcat – walkmn