- Android
- 2012-05-16 - 更新:2012-05-17
例としてEditTextPreferenceの設定がされていればSummaryに表示するようにします。
リスナーをimplementsする場合
public class Setting extends PreferenceActivity implements SharedPreferences.OnSharedPreferenceChangeListener { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.pref); PreferenceScreen ps = getPreferenceScreen(); EditTextPreference ep = (EditTextPreference)ps.findPreference("key"); if(ep.getText() != null && !ep.getText().equals("")) ep.setSummary(ep.getText()); } @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")) { PreferenceScreen ps = getPreferenceScreen(); EditTextPreference ep = (EditTextPreference)ps.findPreference("key"); if(ep.getText() != null && !ep.getText().equals("")) { ep.setSummary(ep.getText()); } else { ep.setSummary("デフォルトのSummary"); } } } }