通过array.xml循环



我有一个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();
        }
    }

最新更新