java如何加载动态可编辑首选项
我正在用新的导航抽屉构建一个应用程序。因此,我创建了几个片段,它们是我的应用程序页面。一个应用程序页面有一个首选项布局(扩展preferencefragments)。我有一个加载了动态值的listpreference。我在这个列表之后设置了另一个首选项屏幕。 现在我想做的是,根据用户从列表中选择的内容创建一个带有EditTextPreference的动态生成的首选项布局
我无法在xml中静态地执行此操作,因为我无法控制在应用程序编译之前需要多少EditTextPreference项。 有没有办法设置一个动态可加载的首选项?也许在java中完全没有xml? 安卓支持完全用java编写的布局吗?我不需要担心这会被保存在哪里。它也应该动态加载
比如(伪代码)
if (list.item3 == selected)
show edittext1
show edittext2
if (list.item1 == selected)
show edittext8
show edittext4
show edittext9
有关更好的解释,请参见screenshot
非常感谢您的帮助
# 1 楼答案
看看这个:http://developer.android.com/guide/topics/ui/settings.html#Custom
这确实是可能的,我在我的应用程序上做到了。在Java中,您需要创建一个扩展
EditTextPreference
的自定义类。然后重写要更改的方法。然后,您可以将自定义视图直接添加到xml中,就像添加普通的EditTextPreference
一样,除非您创建一个名为EditTextPreference
的xml元素,否则您将使用自定义首选项的完整包名例如: