我有一个array.xml文件来存储我的数组。所有数组都包含五个字符串值。我创建一个随机数,由于随机数,我通过开关情况从Array.xml加载数组。这可以正常工作,但是拥有array.xml和开关案例是很多工作。有没有办法通过Android中的array.xml文件迭代?这样的东西:
for array : array.xml{
randomPicture = new RandomPicture(array);
adapter.add(randomPicture)
}
最好的问候,nico
您在诸如xml
之类的资源文件中无法有一个循环。但是您可以将所有值放入单个数组中的Array.xml中的单个数组中,例如
<string-array name="condition">
<item>no</item>
<item>yes</item>
</string-array>
并获取所有值,例如
String[] values =getResouces().getStringArray(R.array.condition)
和通过获得的值循环。
您需要从资源中获取数组,然后迭代它。
String[] starry = Context.getResources().getStringArray(R.id.your_array_name);
for(String s : starry){
//do stuff
}
,为了清楚起见,您的arrays.xml文件应格式为:
<string-array name="activity_list_menu">
<item>Profile</item>
<item>Help</item>
<item>Legal</item>
</string-array>
是的,你可以
String array_navigation[] = getResources().getStringArray(R.array.your_array_xml);
for (int i = 0; i < array_navigation.length; i++) {
RandomPicture randomPicture = new RandomPicture(array_navigation[i]);
adapter.add(randomPicture)
}
是的:
<string-array name="SomeArrayValues">
<item>{"name1":val, "name2":val, "name3": val}</item>
<item>{"name1":val, "name2":val, "name3": val}</item>
<item>{"name1":val, "name2":val, "name3": val}</item>
</string-array>
String[] str = getActivity().getResources().getStringArray(R.array.SomeArrayValues);
for(String s : str){
try {
obj = new JSONObject( s );
System.out.println("*** " + obj.getString( "name1" ));
System.out.println("*** " + obj.getString( "name2" ));
System.out.println("*** " + obj.getString( "name3" ));
}
catch (JSONException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}