Android - 我的ListPreference

时间:2015-12-18 21:04:43

标签: android listpreference preference-v7

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

Custom layout in 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 个答案:

答案 0 :(得分:0)

Google认为您不需要ListPreference中的自定义视图。看来,唯一的方法是使用已弃用的PreferenceFragmentandroid.preference.ListPreference或使用过时的SDK27。很明显,他们不了解自己在做什么。