Android - пользовательский макет строки в моей ListPreference
В моем приложении для Android я реализовал класс SubtitleColorListPreference
который простирается от ListPreference
, Мне это нужно, потому что мне нужно установить свой собственный макет для каждого элемента в списке. Все отлично работает и выглядит так:
Важный код находится в методе onPrepareDialogBuilder(AlertDialog.Builder builder)
где я поставил свою ListAdapter
,
@Override
protected void onPrepareDialogBuilder(AlertDialog.Builder builder) {
// some other code is here ...
ListAdapter listAdapter = new SubtitleColorAdapter(getContext(), R.layout.subtitle_color_preference_item, colorNameHolders, index, this);
builder.setAdapter(listAdapter, this);
}
Теперь мне нужно использовать PreferenceFragmentCompat
вместо PreferenceFragment
, Так что мой SubtitleColorListPreference
должен продлить android.support.v7.preference.ListPreference
, И здесь проблема - нет onPrepareDialogBuilder
метод в этом ListPreference
, Также я не нашел подобного метода. Я попытался найти несколько примеров, как создать кастом android.support.v7.preference.ListPreference
, но безуспешно. Кто-нибудь знает, как я могу решить это?
1 ответ
Google считает, что вам не нужно настраиваемое представление в ListPreference
, Кажется, единственный способ использовать устаревший PreferenceFragment
а также android.preference.ListPreference
или оставайтесь с устаревшим SDK 27. Понятно, что они не понимают, что делают.