0

主な活動

   @Override public void onCreate() {
        super.onCreate();
        SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
         boolean checked = settings.getBoolean("test", false);

    }

Preferences.xml

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
        android:title="@string/settings">
    <CheckBoxPreference android:key="test" android:title="test" android:defaultValue="false"/>
</PreferenceScreen>

設定

import android.os.Bundle;
import android.preference.PreferenceActivity;

public class Setting extends PreferenceActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        addPreferencesFromResource(R.xml.preferences);
    }

}

チェックボックスをオンにしても、チェックの結果は常にfalseです。

4

1 に答える 1

1

'CheckBoxPreference'に'android:persistent = "true"'を設定すると、次に'onCreate'が呼び出されたときに値が変更されたことがわかります。

于 2012-09-10T16:18:29.240 に答える