Dynamically nest a string in an array of strings in Android

I get some data as a JSON response from the server. I am retrieving the data I need and I want to put this data in a string array. I do not know the size of the data, so I can not declare the array as static. I declare a dynamic array of strings:

String[] xCoords = {}; 

After that, I insert the data into the array:

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

But I get

 java.lang.ArrayIndexOutOfBoundsException Caused by: java.lang.ArrayIndexOutOfBoundsException 

What is the way to dynamically insert strings into a string array?

+8
android arrays dynamic
source share
2 answers

Use an ArrayList, although it really is not necessary, but just recognize it :

 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()]); 
+38
source share

try it

  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"); } 
+6
source share

All Articles