基本上我有一个ListPreference,允许用户更改动态壁纸上某些文字的X位置。
它包含4个条目:顶部,中间,底部和手动输入X.前3个选项没有问题,我只需在我的WallpaperService类中获取SharedPreferences并检查它们是顶部,中部还是底部并更改相应的位置他们的选择。
然而,最后一个选项证明更难,我想要做的是当用户点击“手动输入X”ListPreference项时弹出一个EditText警告框,这样他们就可以为X输入一个值。我只是无法想象如何通过单击特定的List元素来使警报弹出窗口。
答案 0 :(得分:3)
您可能想要创建自定义ListPreference
。基本上您希望从ListPreference
扩展(请参阅原始here),并提供自定义protected void onPrepareDialogBuilder(Builder builder)
,您可以在其中提供额外的“自定义”列表项和onclick来处理选择“自定义”条目。
请注意,我一直在说“自定义”,因为最好让这个课程尽可能重复使用。
答案 1 :(得分:0)
覆盖onPreferenceTreeClick()
中的PreferenceActivity
,并将其给出的偏好与您想要为其做的事情进行比较。