ListPreference
のXMLファイル
<ListPreference Android:key="lpBirim" Android:title="Birim"
Android:summary="" Android:defaultValue="0" Android:persistent="false"/>
選択したテキストと選択した値を取得するにはどうすればよいですか?
preferenceActivityで次のようなことを行います。
ListPreference listPreference = (ListPreference) findPreference("lpBirim");
CharSequence currText = listPreference.getEntry();
String currValue = listPreference.getValue();
このスニペットを使用して、値を取得できます。
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
sp.getString("lpBirim","-1")
チュートリアル をご覧ください
次に例を示します。
@Override
public boolean onPreferenceChange(Preference preference, Object value)
{
String textValue = value.toString();
ListPreference listPreference = (ListPreference) preference;
int index = listPreference.findIndexOfValue(textValue);
CharSequence[] entries = listPreference.getEntries();
if(index >= 0)
Toast.makeText(preference.getContext(), entries[index], Toast.LENGTH_LONG);
return true;
}
SharedPreferences Preference = PreferenceManager.getDefaultSharedPreferences(this);
Preference.getString("your list preference key","-1")
findPreference()
を使用して、必要なすべてのメソッドを持つListPreference
を取得できます。それを機能させるには、最初にPreferenceFragment
を使用または拡張する必要があります。