是否可以在PreferenceActivity中定义RadioGroup? 我只能在提供多项选择时找到ListView。
我错过了什么吗?
答案 0 :(得分:0)
从XML或其他示例中查看API演示应用程序 - 首选项 - 首选项。
您基本上可以复制该代码。有一个条目显示带有广播组的列表。
我现在没有代码,但你可以看一下,它类似:
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" />
答案 1 :(得分:0)
是否可以在PreferenceActivity中定义RadioGroup?
欢迎您创建自己的DialogPreference
子类,该子类恰好托管RadioGroup
,但目前还不清楚会给您ListPreference
带来什么好处。
我只能在提供多项选择时找到ListView。
ListPreference
提供单一选择,而不是多种选择。有一个新的MultiSelectListPreference
用于多个选项,但只出现在API级别11中。
答案 2 :(得分:0)
欢迎您扩展任何 Preference
课程。例如,通过扩展PreferenceCategory
,我完成了您正在寻找的内容。通常使用PreferenceScreen
添加子项偏好设置(例如EditTextPreference
和addPreference()
),覆盖它并使用setWidgetLayoutResource()
按代码更改/设置窗口小部件资源。当然,您的新窗口小部件应包含RadioButton
。使用OnPreferenceClickListener
设置自定义setOnPreferenceClickListener()
。
接下来在ViewGroup
中获取对onCreateView()
“父”的引用。然后,您可以将其转换为ListView
中的onBindView()
,并在其上设置OnHierarchyChangeListener
。现在,当您将Preference
的{{1}}添加到View
时,您会收到通知。在层次结构中的新ListView
上设置新的View.OnClickListener
,但前提是View
包含View
。现在管理点击次数。
如果您只需要添加RadioButton
作为孩子,这实际上非常简单。我还需要一个PreferenceScreen
,这是一个棘手的部分。
好处很简单:您可以在EditTextPreference
的上下文之外获得默认的首选项框架外观和行为。 ListPreference
看起来也不同。此外,ListPreference
只能包含预定义的值。因此,如果您需要使用单选按钮选择ListPreference
,那将无法实现。