Как получить выбранный текст и значение Android ListPreference XML файл моего ListPreference <ListPreference android:key="lpBirim" android:title="Birim" android:summary="" android:defaultValue="0" android:persistent="false"/> Как получить выделенный текст и выбранное значение? Ответ 1 в вашем PreferenceActivity сделайте что-то вроде: ListPreference listPreference = (ListPreference) findPreference("lpBirim"); CharSequence currText = listPreference.getEntry(); String currValue = listPreference.getValue(); Ответ 2 Вы можете использовать этот фрагмент, чтобы получить значение: SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this); sp.getString("lpBirim","-1") Посмотрите учебник Ответ 3 Вот пример: @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; } индекс содержит индекс щелкнутого элемента textValue - это выбранное значение entries [index] - это выбранный текст Ответ 4 Вы можете использовать findPreference(), чтобы получить ListPreference, который имеет все необходимые методы. Чтобы он работал, вам нужно сначала использовать или расширить PreferenceFragment.
Ответ 1 в вашем PreferenceActivity сделайте что-то вроде: ListPreference listPreference = (ListPreference) findPreference("lpBirim"); CharSequence currText = listPreference.getEntry(); String currValue = listPreference.getValue();
Ответ 2 Вы можете использовать этот фрагмент, чтобы получить значение: SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this); sp.getString("lpBirim","-1") Посмотрите учебник
Ответ 3 Вот пример: @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; } индекс содержит индекс щелкнутого элемента textValue - это выбранное значение entries [index] - это выбранный текст
Ответ 4 Вы можете использовать findPreference(), чтобы получить ListPreference, который имеет все необходимые методы. Чтобы он работал, вам нужно сначала использовать или расширить PreferenceFragment.