Я работаю над небольшим приложением с множеством изменяемых предпочтений, большинство из которых SeekBarPreferences
.
Бывает, что, поскольку я совсем не доволен Android по умолчанию SeekBarPreferences
,Я использую очень хорошую библиотеку MaterialSeekBarPreference , которая, к сожалению, не обновлялась в течение 2 лет.
Вот пример кода, используемого этой библиотекой:
<com.pavelsikun.seekbarpreference.SeekBarPreference
android:key="@string/param_maxEvent"
android:title="Blahlblahblahblahblah"
android:summary="Blahlblahblahblahblah too"
android:defaultValue="2"
custom:msbp_minValue="0"
custom:msbp_maxValue="5"
custom:msbp_measurementUnit="events"
custom:msbp_interval="1"
custom:msbp_dialogEnabled="false"/>
Как видите, вы можете использовать атрибут android:defaultValue
xml, и он отлично работает с пользовательским интерфейсом.
Поскольку мне нужно загрузить все эти значения по умолчанию при инициализации приложения, я использую метод PreferenceManager.setDefaultValues
:
public class App extends Application {
@Override public void onCreate() {
super.onCreate();
PreferenceManager.setDefaultValues(this, R.xml.preferences, true);
}
}
Это прекрасно работает со всеми настройками по умолчанию (SwitchPreference
, ListPreference
, Preference
), но, к сожалению, не с этими пользовательскими SeekBarPreference
.
Загрузка настроекактивность не устанавливает эти значения по умолчанию.
Есть ли обходной путь для этой проблемы?Иначе, если я собирался редактировать библиотеку, что я должен изменить?