0

我正在使用新的导航抽屉构建一个应用程序。因此我创建了几个片段,它们是我的应用程序页面。一个 App 页面有一个首选项布局(扩展首选项片段)。我有一个加载了动态值的列表首选项。我在此列表之后设置了另一个首选项屏幕。现在我想要做的是,根据用户从列表中选择的内容创建使用 EditTextPreference 的动态生成的首选项布局。

我不能在 xml 中静态地执行此操作,因为我无法控制在应用程序编译之前需要多少 EditTextPreference 项。有什么办法可以设置动态可加载首选项?也许只在java中完全没有xml?android 是否支持完全用 java 编写的布局?我不需要关心这将被保存在哪里。它也应该动态加载。

喜欢(伪代码);

if (list.item3 == selected)
   show edittext1
   show edittext2
if (list.item1 == selected)
   show edittext8
   show edittext4
   show edittext9

请参阅屏幕截图以获得更好的解释。

非常感谢这里的任何帮助!

4

1 回答 1

0

看看这个:http: //developer.android.com/guide/topics/ui/settings.html#Custom

这确实是可能的,我在我的应用程序上做到了。在 Java 中,您需要创建一个扩展的自定义类EditTextPreference。然后覆盖您要更改的方法。然后,您可以像正常一样将自定义视图添加到您的 xmlEditTextPreference中,除非您创建一个名称为EditTextPreference您的 xml 元素时会使用您的自定义首选项的完整包名称。

例如:

<com.your.name.CustomPreference
<!-- add all the andoid:x attributes you normaly would:-->
android:defaultValue="default string"
etc,
....
/>
于 2013-09-30T14:01:00.947 回答