我正在使用新的导航抽屉构建应用程序。因此我创建了几个片段,这是我的应用页面。一个应用程序页面具有首选项布局(扩展首选项片段)。我有一个加载动态值的listpreference。我在此列表后面设置了另一个首选项屏幕。 现在我想要做的是,根据用户从列表中选择的内容创建一个带有EditTextPreference的动态生成的首选项布局。
我无法在xml中静态地执行此操作,因为在应用程序编译之前,我无法控制需要多少EditTextPreference项目。 有什么办法可以设置动态可加载首选项吗?也许完全没有xml只在java? android是否支持完全用java编写的布局?我不需要注意保存的地方。它也应该动态加载。
喜欢(伪代码);
if (list.item3 == selected)
show edittext1
show edittext2
if (list.item1 == selected)
show edittext8
show edittext4
show edittext9
有关更好的解释,请参阅screenshot。
非常感谢任何帮助!
答案 0 :(得分:0)
检查出来:http://developer.android.com/guide/topics/ui/settings.html#Custom
这确实是可行的,我在我的应用上做到了。在Java中,您需要创建一个扩展EditTextPreference
的自定义类。然后覆盖要更改的方法。然后,您可以像普通EditTextPreference
一样将自定义视图添加到xml中,除非您要创建名为EditTextPreference
的xml元素,否则您将执行自定义首选项的完整包名称。
例如:
<com.your.name.CustomPreference
<!-- add all the andoid:x attributes you normaly would:-->
android:defaultValue="default string"
etc,
....
/>