1

私のアプリでは、チェックボックスを使用した基本的な設定が1つしかありません.preferenceactivityを拡張するときと同じように、それを行わない場合を除いて、それ自体を持続させたいと思います。私が見つけることができるすべての設定例は、preferenceactivity を拡張します。

基本的なチェックボックスだけで、メイン UI のロジックで設定機能を使用することは可能ですか? 短い例をいただければ幸いです。

4

3 に答える 3

0

どのアクティビティでも共有設定にアクセスできます...

SharedPreferences preferences = getSharedPreferences( NameAsString, Context.MODE_PRIVATE );
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean( keyAsString, value );
editor.apply();

editor.apply()は非同期であり、GB以上でのみ使用可能であることに注意してください。android2.3未満の場合はeditor.commit()を使用してください。

于 2012-08-29T13:31:30.963 に答える
0
CheckBox checkBox = (CheckBox) findViewById(R.id.checkbox1);
checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
        SharedPreferences.Editor editor = prefs.edit();
        editor.putBoolean("checkbox_key", isChecked);
        editor.commit();
    }
});
于 2012-08-29T13:31:32.443 に答える
0

SharedPreferencesを使用して、設定を自分で手動で保存できます。チェックボックスが変更されたら、設定を保存/ロードできます

CheckBox checkBox = ( CheckBox ) findViewById( R.id.checkbox );
checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
    {
        if ( isChecked )
        {
            // get the preference manager
            SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);

            // get the editor
            SharedPreferences.Editor editor = prefs.edit();

            // put the new setting
            editor.putBoolean(PREF_NAME, true);

            // IMPORTANT - save the new settings
            editor.commit();

         }  
      }
    }
});

その後、好きな場所で設定を取得できます

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
if (prefs.getBoolean(PREF_NAME, false)) {
   // setting dependent code goes here
}

それが役立つことを願っています:)

于 2012-08-29T13:27:31.977 に答える