Я - новый творит PreferenceActivity
. Мой вопрос: как включить и отключить опцию на экране предпочтений, изменив другие предпочтения?Включить или отключить опцию в PreferenceActivity
Мои prefs.xml:
<ListPreference
android:entries="@array/units"
android:entryValues="@array/lunits"
android:key="listUnits"
android:summary="Units schosssing"
android:title="Units" android:defaultValue="C"/>
<ListPreference
android:entries="@array/palette"
android:entryValues="@array/lpalette"
android:key="listpalette"
android:summary="Palette schosssing"
android:title="Palette"
android:defaultValue="1"/>
В listUnits
есть 2 варианта, по Цельсию и по Фаренгейту, так что если пользователь выбирает по Цельсию listpalette
должен получить включен, и если пользователь выбирает Fahrenheit, становится отключенным, как я могу это сделать?
Мой настройки активности:
public class SettingsActivity extends PreferenceActivity
{
@Override
protected void onCreate(final Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
getFragmentManager().beginTransaction().replace(android.R.id.content, new MyPreferenceFragment()).commit();
}
public static class MyPreferenceFragment extends PreferenceFragment
{
@Override
public void onCreate(final Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.prefs);
}
}
}
я получаю "Метод getPreferenceScreen() от типа PreferenceActivity осуждается" – Dim
сделать его 'mlistUnits = (Preference) findPreference ("listUnits");' –
вы не должны вызывать getPreferenceScreen() в PreferenceActivity, как это Depricated. Рекомендуемый подход заключается в написании кода в PreferenceFragment, где вы можете легко использовать метод findPreference(). –