在我的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
,但是没有成功。有人知道我该怎么解决吗?
最佳答案
Google认为您不需要ListPreference
中的自定义 View 。看来,唯一的方法是使用不推荐使用的PreferenceFragment
和android.preference.ListPreference
或使用过时的SDK27。显然,他们不了解自己在做什么。
关于Android-我的ListPreference中的自定义行布局,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34363951/