Настройки Android показывают значение и единицу измерения - PullRequest
0 голосов
/ 03 апреля 2012

Можно ли отобразить предпочтение с единицей измерения (пока все еще только принимая значение)

Например:

Имея предпочтительное расстояние, которое является EditTextPreference, и предпочтительное Расстояние, котороеявляется ListPreference

Поэтому, когда они отображаются, он показывает:

Distance
value + unit

Distance Unit
unit

Пример:

Distance
5 km
Distance Unit
km

, затем измените единицу расстояния:

Distance
5 mi
Distance Unit
mi

Тем не менее, все, что меня действительно волнует, это 5, но я все еще хочу показать устройство рядом с ним.Возможно ли это?

Спасибо

1 Ответ

0 голосов
/ 03 апреля 2012

Конечно, вы можете. Просто реализуйте пользовательский onSharedPreferenceChanged (SharedPreferences sharedPreferences, ключ String) для вашего расстояния и вашего подразделения.

Найдите свои предпочтения с помощью клавиши расстояния и используйте setSummary (Сводка строк), чтобы добавить единицу измерения к расстоянию.

Вот какой-нибудь причудливый код:

public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
   if (key.equals("distance") | key.equals("unit")) {
      findPreference("distance").setSummary(sharedPreferences.getString("distance", "0") + sharedPreferences.getString("unit", "km"));
   }
}
...