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 
      } 
     } 
    }; 
} 
} 

答えて

1

この方法は、非揮発性の方法で優先断片中のメニュー項目の概要を更新することになっていますか?すなわち

、表示された要約は閉じ、優先メニュー断片を再度開いた後に持続することになっていますか?

+0

あなたが要約に永続性を実現するための説明へのリンクを持っていますか? – Cody

+1

@Cody:サマリーを保持しません。サマリーを作成するためのデータを保持します。ですから、この場合は、環境設定が変更されたときだけでなく、 'addPreferencesFromResource()'の後にあなたのset-the-summaryロジックを実行する必要があります。 – CommonsWare

関連する問題