0
Preference.setSummary()の動作方法が少し不明です。このメソッドは、Preferenceフラグメント内のメニュー項目の要約を非揮発性の方法で更新することになっていますか?言い換えれば、表示されたサマリーは、プリファレンス・メニュー・フラグメントを閉じて再オープンした後も持続するはずです。設定メニューのAndroidの設定の概要が維持されない
このように動作するはずだと思っていましたが、戻るボタンを押した後に環境設定メニューを再度開くと、要約は再び空白になります。
public class FragmentSettingsMenu extends com.takisoft.fix.support.v7.preference.PreferenceFragmentCompat {
private SharedPreferences.OnSharedPreferenceChangeListener listener;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Load the preferences from the XML resource
addPreferencesFromResource(R.xml.preferences);
listener = new SharedPreferences.OnSharedPreferenceChangeListener() {
public void onSharedPreferenceChanged(SharedPreferences prefs, String key) {
if (key.equals("pref_wood")) {
Preference woodPref = findPreference(key);
String color = woodPref.getSharedPreferences().getString(key, "Maple");
MainActivity.getGLSurfaceView().setTexture(color);
woodPref.setSummary(color); // Set summary to be the user-description for the selected value
}
}
};
}
}
あなたが要約に永続性を実現するための説明へのリンクを持っていますか? – Cody
@Cody:サマリーを保持しません。サマリーを作成するためのデータを保持します。ですから、この場合は、環境設定が変更されたときだけでなく、 'addPreferencesFromResource()'の後にあなたのset-the-summaryロジックを実行する必要があります。 – CommonsWare