3

是否可以在 PreferenceActivity 中定义 RadioGroup?提供多项选择时,我只能找到 ListView。

我错过了什么吗?

4

3 回答 3

1

欢迎您扩展任何 Preference课程。例如,我通过扩展完成了您正在寻找的事情PreferenceCategory。添加子首选项(例如PreferenceScreenEditTextPreference),通常使用addPreference(),覆盖它并通过代码更改/设置小部件资源setWidgetLayoutResource()。自然,您的新小部件应该包含一个RadioButton. OnPreferenceClickListener使用设置自定义setOnPreferenceClickListener()

接下来获取对ViewGroup“父”的引用onCreateView()。然后你可以将它转换为ListViewin onBindView(),并在其上设置 a OnHierarchyChangeListener。现在,当孩子PreferenceViews 添加到ListView. View.OnClickListener在层次结构中的 new上设置一个 new View,但前提是View包含一个RadioButton. 现在管理点击。

如果您只需要添加PreferenceScreen为子项,这实际上非常容易。我还需要它EditTextPreference,这是棘手的部分。

好处很简单:您可以在ListPreference. AListPreference看起来也不同。此外, aListPreference只能包含预定义的值。因此,如果您需要EditTextPreference使用单选按钮选择 a,那将是不可能的。

于 2013-04-21T15:10:52.603 回答
0

查看 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" />
于 2011-05-22T11:30:26.300 回答
0

是否可以在 PreferenceActivity 中定义 RadioGroup?

欢迎您创建自己的DialogPreference子类来托管 a RadioGroup,但目前尚不清楚这会给您带来什么好处ListPreference

提供多项选择时,我只能找到 ListView。

AListPreference提供单项选择,而不是多项选择。有一个新MultiSelectListPreference的多重选择,但只出现在 API 级别 11 中。

于 2011-05-22T11:31:26.817 回答