3

基本上我有一个 ListPreference 允许用户更改我的动态壁纸上某些文本的 X 位置。

它包含 4 个条目:顶部、中间、底部和手动输入 X。前 3 个选项没有问题,我只需在我的 WallpaperService 类中获取 SharedPreferences 并检查它们是顶部、中间还是底部并根据他们的选择更改位置.

但是,最后一个选项被证明更困难,我想要做的是当用户单击“手动输入 X”ListPreference 项时弹出一个 EditText 警报框,以便他们可以输入 X 的值。我只是不知道如何通过单击该特定列表元素弹出警报。

4

2 回答 2

3

您可能想要创建一个自定义ListPreference. 基本上你想从ListPreference(见原文here)扩展,并提供一个 custom protected void onPrepareDialogBuilder(Builder builder),在其中你提供额外的“自定义”列表项和 onclick 来处理“自定义”条目的选择。

请注意,我一直在说“自定义”,因为最好的做法是让这个类尽可能地可重用。

于 2011-05-30T21:51:36.690 回答
0

覆盖onPreferenceTreeClick()PreferenceActivity并将其与您想要为之做某事的偏好进行比较。

于 2011-05-30T21:11:29.887 回答