基本上,我有一个ListPreference来允许用户更改我的动态壁纸上某些文本的X位置。它包含4个条目:顶部,中间,底部和手动输入的X。前三个选项没有问题,我只需在WallpaperService类中获取SharedPreferences并检查它们是否是顶部,中部或底部,然后根据其选择改变位置。然而,最后一个选项更加困难,我想做的是当用户点击“手动输入X” ListPreference项时弹出一个EditText警报框,以便他们可以为X输入一个值。我只是无法弄清楚如何从单击该特定列表元素使警报弹出。
onPrepareDialogBuilder
,然后通过调用getEntries()
获取条目并在末尾添加一个新项,然后将其传递到builder.setSingleChoiceItems()
中。然后 onclick 有which
,它是被点击的项目的索引。请注意,您可能需要以某种编码方式存储数据,以便支持自定义值,因为默认实现仅存储所选项目的整数值。 - dmon}
} }); }` - William Stewart