6

在我的 Android 应用程序中,我实现SubtitleColorListPreference了从ListPreference. 我需要这个,因为我需要为列表中的每个项目设置自己的布局。一切正常,看起来像这样:

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。另外,我没有找到任何类似的方法。我试图找到一些如何创建 custom的示例android.support.v7.preference.ListPreference,但没有成功。有谁知道我该如何解决这个问题?

4

1 回答 1

0

Google 认为您不需要在ListPreference. 看来,唯一的方法是使用已弃用PreferenceFragmentandroid.preference.ListPreference保留过时的 SDK 27。很明显,他们不明白自己在做什么。

于 2018-09-03T21:33:25.200 回答