How do we dynamically add an array from a java file to an existing xml file in android?
我们试图动态地将Java文件中的数组添加到XML文件中。
我们有一个arraylist catlist,它通过从网站读取XML文件来填充。arraylist的填充方式如下:[item1,item2,item3,item4,item5]。
XML优先
1 2 3 4 5 6 7 8 9 10 11 12 | <?xml version="1.0" encoding="utf-8"?> <ListPreference android:title="Ondernemer selecteren" android:summary="Bij deze optie kunt U kiezen van welke ondernemer U de agenda wilt zien." android:key="listPref" android:defaultValue="Standaard" android:entries="@array/ondernemerArray" android:entryValues="@array/ondernemerValues" /> </PreferenceScreen> |
数组文件
1 2 3 4 5 6 7 8 9 10 | <?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="ondernemerArray"> <item></item> </string-array> <string-array name="ondernemerValues"> <item></item> </string-array> |
有人知道我们如何在元素之间动态地将catlist数组放入XML文件,并动态地增加元素的数量吗?
要用动态值填充首选项列表,请在settings.xml中创建首选项,但不要指定其android:entries和android:entryvalues属性。
1 2 3 4 5 | <ListPreference android:title="@string/pref_title" android:summary="@string/pref_summary" android:key="prefkey" android:defaultValue="" /> |
然后,在Preferences活动中添加一些代码,一旦创建,就可以从XML数据中填充条目和entryValues。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.settings); initializePreferenceList(); ... } protected void initializePreferenceList(){ ListPreference lpPref = (ListPreference)findPreference("prefkey"); // Read your xml data somehow ... // Write some methods to fill a String array from your xml data: // something like toEntriesArray, toEntryValuesArray String[] entries = toEntriesArray(xmlData); String[] entryValues = toEntryValuesArray(xmlData); lpPref.setEntries(entries); lpPref.setEntryValues(entryValues); } |
您不需要为此首选项在array.xml中定义任何值。
正如我在评论中所说,
EDCOX1的0个方面主要有助于保持您的Java代码,并不是动态的,而是让开发人员在存储和引用预先编译的东西的地方更容易。我知道这不是你想要的答案,但希望这能帮助你澄清一些关于
如果有人有更好或更准确的描述要添加,请随意编辑