是否可以在 PreferenceActivity 中定义 RadioGroup?提供多项选择时,我只能找到 ListView。
我错过了什么吗?
是否可以在 PreferenceActivity 中定义 RadioGroup?提供多项选择时,我只能找到 ListView。
我错过了什么吗?
欢迎您扩展任何 Preference
课程。例如,我通过扩展完成了您正在寻找的事情PreferenceCategory
。添加子首选项(例如PreferenceScreen
和EditTextPreference
),通常使用addPreference()
,覆盖它并通过代码更改/设置小部件资源setWidgetLayoutResource()
。自然,您的新小部件应该包含一个RadioButton
. OnPreferenceClickListener
使用设置自定义setOnPreferenceClickListener()
。
接下来获取对ViewGroup
“父”的引用onCreateView()
。然后你可以将它转换为ListView
in onBindView()
,并在其上设置 a OnHierarchyChangeListener
。现在,当孩子Preference
的View
s 添加到ListView
. View.OnClickListener
在层次结构中的 new上设置一个 new View
,但前提是View
包含一个RadioButton
. 现在管理点击。
如果您只需要添加PreferenceScreen
为子项,这实际上非常容易。我还需要它EditTextPreference
,这是棘手的部分。
好处很简单:您可以在ListPreference
. AListPreference
看起来也不同。此外, aListPreference
只能包含预定义的值。因此,如果您需要EditTextPreference
使用单选按钮选择 a,那将是不可能的。
查看 API Demos App - Preferences - Preferences from XML 或其他示例。
您基本上可以复制该代码。有一个条目显示带有无线电组的列表。
我现在没有代码,但你可以看看这里,它是相似的:
http://www.kaloer.com/android-preferences
<ListPreference
android:title="List Preference"
android:summary="This preference allows to select an item in a array"
android:key="listPref"
android:defaultValue="digiGreen"
android:entries="@array/listArray"
android:entryValues="@array/listValues" />
是否可以在 PreferenceActivity 中定义 RadioGroup?
欢迎您创建自己的DialogPreference
子类来托管 a RadioGroup
,但目前尚不清楚这会给您带来什么好处ListPreference
。
提供多项选择时,我只能找到 ListView。
AListPreference
提供单项选择,而不是多项选择。有一个新MultiSelectListPreference
的多重选择,但只出现在 API 级别 11 中。