Android - 我的 ListPreference 中的自定义行布局

标签 android listpreference preference-v7

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

Custom layout in ListPreference

重要的代码在方法 onPrepareDialogBu​​ilder(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.这就是问题所在 - 此 ListPreference 中没有 onPrepareDialogBu​​ilder 方法。另外,我没有找到任何类似的方法。我试图找到一些如何创建自定义 android.support.v7.preference.ListPreference 的示例,但没有成功。 有人知道我该如何解决这个问题吗?

最佳答案

Google 认为您不需要 ListPreference 中的自定义 View 。看来,唯一的方法是使用已弃用的 PreferenceFragmentandroid.preference.ListPreference 或继续使用过时的 SDK 27。很明显,他们不明白他们的意思正在做。

关于Android - 我的 ListPreference 中的自定义行布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34363951/

相关文章:

android - 您如何根据首选项创建开始时间和结束时间时间选择器?

android - listPreference 中的自定义行?

android - 安装 PreferenceFragmentCompat 的支持库

android - 如何均衡按钮之间的空间?

android - 应用程序卸载时无法获取接收器

android - 在 ListPreference 摘要中显示图像

android - PreferenceFragmentCompat 在初始化时崩溃

java - EditText、OnTouchListener 和 setSelection 在第一次触摸时不起作用

具有 2 个均匀分布的按钮的 Android 布局