如何加载动态可编辑首选项

时间:2013-09-30 13:25:36

标签: java android preferences

我正在使用新的导航抽屉构建应用程序。因此我创建了几个片段,这是我的应用页面。一个应用程序页面具有首选项布局(扩展首选项片段)。我有一个加载动态值的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

非常感谢任何帮助!

1 个答案:

答案 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,
....
/>