1
Switch
をクリックするたびに変更したいのでandroid:title="Title"
を使用してタイトルを付けることをしていないSwitchPreference
があるPreferenceActivity
と一緒に働いています。SwitchPreferenceタイトルをクリックしたときに変更する方法
私はこの方法を試しましたが、うまくいきませんでした。自分の問題を解決せずにSOの関連トピックを検索しました。
public class PrefsFragment extends PreferenceFragment {
private SwitchPreference pref;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.settings);
// Load the preferences from an XML resource
pref = (SwitchPreference)findPreference("SWITCH");
pref.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
if (newValue.toString().equals("SWITCH")) {
boolean test = (Boolean) newValue;
if (test) {
pref.setTitle("ChangedTitle");
} else {
pref.setTitle("DefaultTitle");
}
}
return true;
}
});
}
}
settings.xml
は:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory
android:title="Settings">
<ListPreference
android:key="yourPref"
android:title="Title"
android:dialogTitle="Select"
android:summary="%s"
android:defaultValue="4"
android:entries="@array/titles"
android:entryValues="@array/values"/>
</PreferenceCategory>
<PreferenceCategory
android:title="Title">
<SwitchPreference
android:key="SWITCH"/>
</PreferenceCategory>
</PreferenceScreen>
あなたは私に助けてくださいもらえますか?
変更なし私はxmlファイルも投稿しました – Pier
あなたは 'setSummary()'ではなく 'setTitle()'を呼んでいますか? –
はい、_setTitle()_を追加したいと思います。しかし、ちょうど知っている... _setSummary()_でも私は変更を取得しません – Pier