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

Java 如何加载动态可编辑首选项,java,android,preferences,Java,Android,Preferences,我正在使用新的导航抽屉构建一个应用程序。因此,我创建了几个片段,它们是我的应用程序页面。一个应用程序页面具有首选项布局(扩展preferencefragments)。我有一个加载了动态值的listpreference。我已在此列表后设置了另一个首选项屏幕。 现在我想做的是,根据用户从列表中选择的内容创建一个带有EditTextPreference的动态生成的首选项布局 我无法在xml中静态地执行此操作,因为我无法控制在应用程序编译之前需要多少EditTextPreference项。 有没有办法设

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

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

Like(伪码)

请参阅以获得更好的解释

非常感谢您的帮助

看看这个:

这确实是可能的,我在我的应用程序上做到了。在Java中,您需要创建一个扩展
EditTextPreference
的自定义类。然后重写要更改的方法。然后,您可以像普通的
EditTextPreference
一样将自定义视图直接添加到xml中,除非您要创建一个名为
EditTextPreference
的xml元素,否则您将使用自定义首选项的完整包名

例如:


android:defaultValue=“默认字符串”
等
....
/
if (list.item3 == selected)
   show edittext1
   show edittext2
if (list.item1 == selected)
   show edittext8
   show edittext4
   show edittext9
<com.your.name.CustomPreference
<!-- add all the andoid:x attributes you normaly would:-->
android:defaultValue="default string"
etc,
....
/>