2015-04-13 3 views
1

У меня есть данные, сохраненные в массив 2d, и вы хотите вывести все внутри столбца, как бы я это сделал? Это то, что у меня есть до сих пор.Android Использование 2D-массива в простом массиве ArrayAdapter

private ArrayList[][] placeList = new ArrayList[8][9]; 

Это цикл:

   for (int i = 0; i < ja.length(); i++) { 
       for(int x= 0; x <= 7; x++){ 
        placeList[x][loops] = new ArrayList(); 
       } 
       JSONObject jo = (JSONObject) ja.get(i); 
       placeList[0][loops].add(jo.getString("id")); 
       placeList[1][loops].add(jo.getString("BusinessName")); 
       placeList[2][loops].add(jo.getString("AddressLine1")); 
       placeList[3][loops].add(jo.getString("AddressLine2")); 
       placeList[4][loops].add(jo.getString("AddressLine3")); 
       placeList[5][loops].add(jo.getString("PostCode")); 
       placeList[6][loops].add(jo.getString("RatingValue")); 
       placeList[7][loops].add(jo.getString("RatingDate")); 
       loops++; 
      } 
     } 

Это мой пытается поместить каждое имя бизнес точно в arrayAdapter:

ArrayAdapter<String> listAdapter = new ArrayAdapter<String>(this, R.layout.listrow, R.id.txtHeading , placeList[1][1 to 9]); 

Я попытался сделать петлю, но она будет только выводят последний бит данных в массив.

+0

Это не совсем понятно, вы хотите только один столбец из вашей 'матрицы placeList' быть источником данных в адаптере? –

+0

Я хочу, чтобы каждый бит информации сохранялся в placeList [1]. –

+0

private ArrayList [] [] placeList = new ArrayList [8] [9]; –

ответ

0

Похоже, вы действительно должны использовать ArrayList<String>.

Я думаю, что вы, вероятно, хотите что-то вроде этого:

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

for (int i = 0; i < ja.length(); i++) { 
    ArrayList<String> row = new ArrayList<String>(); 
    JSONObject jo = (JSONObject) ja.get(i); 
    row.add(jo.getString("id")); 
    row.add(jo.getString("BusinessName")); 
    row.add(jo.getString("AddressLine1")); 
    row.add(jo.getString("AddressLine2")); 
    row.add(jo.getString("AddressLine3")); 
    row.add(jo.getString("PostCode")); 
    row.add(jo.getString("RatingValue")); 
    row.add(jo.getString("RatingDate")); 

    placeList.add(row); 
} 

ArrayList<String> businessArray = new ArrayList<String>(); 
for (int i = 0; i < placeList.size(); i++) { 
    businessArray.add(placeList.get(i).get(1)); 
} 

ArrayAdapter<String> listAdapter = new ArrayAdapter<String>(this, R.layout.listrow, R.id.txtHeading , businessArray); 
Смежные вопросы