在Android中将字符串动态插入字符串数组中

Ste*_*hev 8 arrays android dynamic

我从服务器收到一些数据作为JSON响应.我提取了我需要的数据,我想将这些数据放入字符串数组中.我不知道数据的大小,所以我不能将数组声明为静态.我声明了一个动态字符串数组:

String[] xCoords = {};
Run Code Online (Sandbox Code Playgroud)

在此之后,我在数组中插入数据:

   for (int i=0; i<jArray.length(); i++) {
         JSONObject json_data = jArray.getJSONObject(i);
         xCoords[i] = json_data.getString("xCoord");
   }
Run Code Online (Sandbox Code Playgroud)

但我收到了

java.lang.ArrayIndexOutOfBoundsException
Caused by: java.lang.ArrayIndexOutOfBoundsException
Run Code Online (Sandbox Code Playgroud)

将字符串动态插入字符串数组的方法是什么?

She*_*tib 38

使用ArrayList虽然它不是真的需要但只是学习它:

ArrayList<String> stringArrayList = new ArrayList<String>();

   for (int i=0; i<jArray.length(); i++) {
         JSONObject json_data = jArray.getJSONObject(i);
         stringArrayList.add(json_data.getString("xCoord")); //add to arraylist
   }

//if you want your array
String [] stringArray = stringArrayList.toArray(new String[stringArrayList.size()]);
Run Code Online (Sandbox Code Playgroud)


Ras*_*sel 6

试试这样吧

 String stringArray[];        
 stringArray=new String[jArray.length()];
 String xCoords[]=new String[jArray.length()];;

       for (int i=0; i<jArray.length(); i++) {
             JSONObject json_data = jArray.getJSONObject(i);
             xCoords[i] = json_data.getString("xCoord");
       }
Run Code Online (Sandbox Code Playgroud)