2017-01-02 100 views
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