我想知道是否有循环遍历 strings.xml
的方法文件。
假设我有以下格式:
<!-- FIRST SECTION -->
<string name="change_password">Change Password</string>
<string name="change_server">Change URL</string>
<string name="default_password">password</string>
<string name="default_server">http://xxx:8080</string>
<string name="default_username">testPhoneAccount</string>
<!-- SECOND SECTION -->
<string name="debug_settings_category">Debug Settings</string>
<string name="reload_data_every_startup_pref">reload_data_every_startup</string>
<string name="reload_data_on_first_startup_pref">reload_data_on_first_startup</string>
现在假设我有这个:
private HashMap<String,Integer> hashmapStringValues = new HashMap<String, Integer>();
有没有办法只在我的 xml 文件的第二部分进行迭代?也许用 <section2>
之类的标签包裹该部分然后遍历它?
public void initHashMap(){
for (int i=0;i< ???? ;i++) //Here I need to loop only in the second section of my xml file
{
String nameOfTag = ? // Here I get the name of the tag
int value = R.string.nameOfTag // Here I get the associated value of the tag
this.hashmapStringValues.put(nameOfTag,value);
}
}
最佳答案
不可以,但是您可以在 resources/values 中创建另一个包含以下内容的 xml 文件:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="array">
<item>ID_1|Asdf</item>
<item>ID_2|I do not like to think</item>
<item>ID_3|Whatever</item>
</string-array>
</resources>
您可以根据自己的喜好格式化字符串,然后使用自定义解析器解析它们。
要获取字符串数组你只需要这样做:
getResources().getStringArray(R.array.array);
关于java - Android - 循环遍历 strings.xml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12193036/