チェック状態がCheckBoxPreference
に基づいて、設定サマリーが変更されるアプリケーションを作成しようとしています。チェック状態に基づいてCheckBoxPreferenceサマリーを変更します。
良い古いisChecked()
が機能しないため、どのようにプリファレンスを照会するのかよくわかりません。あなたは自分の好みのレイアウトにandroid:summaryOff
とandroid:summaryOn
を使用した場合
チェック状態がCheckBoxPreference
に基づいて、設定サマリーが変更されるアプリケーションを作成しようとしています。チェック状態に基づいてCheckBoxPreferenceサマリーを変更します。
良い古いisChecked()
が機能しないため、どのようにプリファレンスを照会するのかよくわかりません。あなたは自分の好みのレイアウトにandroid:summaryOff
とandroid:summaryOn
を使用した場合
は、はるかに簡単だろう。コードは不要です。例えば:
<CheckBoxPreference
android:enabled="true"
android:key="alerts"
android:title="Alerts"
android:summaryOn="You will get notified when something interesting happens"
android:summaryOff="You will not be notified"
/>
参照:
public class Preferences extends PreferenceActivity
implements OnSharedPreferenceChangeListener {
public final static String KEY_CHECK = "check";
private CheckBoxPreference mCheckBoxPreference;
@Override
public void onCreate(Bundle savedInstance) {
super.onCreate(savedInstance);
addPreferencesFromResource(R.xml.preferences);
mCheckBoxPreference = (CheckBoxPreference) getPreferenceScreen()
.findPreference(KEY_CHECK);
}
@Override
protected void onResume() {
super.onResume();
getPreferenceScreen().getSharedPreferences()
.registerOnSharedPreferenceChangeListener(this);
}
@Override
protected void onPause() {
super.onPause();
getPreferenceScreen().getSharedPreferences()
.unregisterOnSharedPreferenceChangeListener(this);
}
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
String key) {
if (key.equals(KEY_CHECK)) {
if (mCheckPreference.isChecked()) {
mCheckPreference.setSummary(mCheckPreference.getEntry());
}
}
}
}
http://developer.android.com/reference/android/preference/CheckBoxPreference.htmlがどのように 'にisChecked()'は動作しませんか?あなたのコードを投稿してください。 – biegleux