Android(MultiSelect-)ListPreference禁用条目

Android(MultiSelect-)ListPreference禁用条目,android,android-preferences,listpreference,multiselectlistpreference,Android,Android Preferences,Listpreference,Multiselectlistpreference,难以获得多选列表首选预先检查和/或禁用某些条目 找到了一些使用自定义布局文件实现自定义首选项的解决方案,例如CheckboxPreference。但IMHO这将不适用于ListPreferences,因为它们具有动态大小 是否可以扩展MultiSelectListPreference并在特定位置获取复选框和标签以调用textview#enabled或checkbox#setchecked 我做了一个模拟来说明: 您可以使用AlertDialog.multiselect并可以实现此功能您可以使用A

难以获得多选列表首选预先检查和/或禁用某些条目

找到了一些使用自定义布局文件实现自定义首选项的解决方案,例如CheckboxPreference。但IMHO这将不适用于ListPreferences,因为它们具有动态大小

是否可以扩展MultiSelectListPreference并在特定位置获取复选框和标签以调用textview#enabled或checkbox#setchecked

我做了一个模拟来说明:


您可以使用AlertDialog.multiselect并可以实现此功能

您可以使用AlertDialog.multiselect并可以实现此功能

只需扩展
首选项
并显示带有
回收视图
和两种不同视图类型的自定义
对话框片段
;然后,可以对启用或禁用的布局进行充气,或者根据其他值更改每个卡片视图。在
PreferenceScreen
中,这一切都相当严格和有限,但在显示
DialogFragment
时,只需扩展
Preference
并显示带有
RecyclerView
和两种不同视图类型的自定义
DialogFragment
(或将该模型放到其中);然后,可以对启用或禁用的布局进行充气,或者根据其他值更改每个卡片视图。在
PreferenceScreen
中,这一切都相当严格和有限,但在显示
对话框片段时则不然