2013-08-29 3 views
0

Я хочу, чтобы печатать json array utrition в динамическом выражении в текстовом представлении - это то, что если я напишу «1» в этой строке (school3.getJSONObject («1»)); , тогда его печать только сначала «имя» и «Qty» от json. Я хочу написать J на ​​этой линии, но проблема это показывает ошибки методы getJSONObject (String) в типе JSONObject не применяется для аргументов (интермедиат)Как преобразовать int в строку в forloop

for (int j = 1 

school3.getJSONObject(j) 

есть ли способ преобразования Int J = строка, то добавить в school3.getJSONObject (J), как таким образом

 //for example 
    string z; 
    z=j.tostring(); 
    school3.getJSONObject(z); 

    { 
    "status":1, 
    "data" 
    , 
    "dish_nutrition": 
    { 
    "1": 
    { 
    "name":"Cholesterol and Diet", 
    "qty":"2" 
    }, 
    "2": 
    { 
    "name":"Cholesterol and Diet", 
    "qty":"1" 
    } 
    } 
     } 







    JSONObject school3 = json2.getJSONObject("dish_nutrition"); 
    final TableLayout table = (TableLayout) findViewById(R.id.table2); 

      for (int j = 1; j < school3.length(); j++) { 

     final View row = createRow (school3.getJSONObject("1")); 
        table.addView(row); 

       num=num+1; 
      } 






       public View createRow(JSONObject item) throws JSONException { 
    View row = getLayoutInflater().inflate(R.layout.rows, null); 
    ((TextView) 
    row.findViewById(R.id.localTime)).setText(item.getString("name")); 
    ((TextView) 
    row.findViewById(R.id.apprentTemp)).setText(item.getString("qty")); 

    return row; 
} 

ответ

1

Использование Integer.toString (INT) или использование INT + "" в преобразует целое число в строку, как J + ""

 for (int j = 1; j < school3.length(); j++) { 

     final View row = createRow (school3.getJSONObject(j+"")); 
       table.addView(row); 

      num=num+1; 
     } 

ИЛИ

 for (int j = 1; j < school3.length(); j++) { 

     final View row = createRow (school3.getJSONObject(Integer.toString(j))); 
       table.addView(row); 

      num=num+1; 
     } 
+0

эта работа thanx – user2725048

0
String z = String.valueOf(j); 
school3.getJSONObject('\"' + z + '\"'); 
+0

я didlike этот \t \t \t \t для (Int J = 1, J user2725048

+0

его не показывая значение nay, если я делаю это Строка z = String.valueOf (j); school3.getJSONObject ('\ "' + z + '\"'); – user2725048

0

Вы можете сделать что-то вроде этого:

school3.getJSONObject('\"' + j + '\"'); 
0

Если вам нужно преобразовать Int в строку просто использовать String.valueOf (значения INT);

и если вам нужно преобразовать строку в int use Integer.parseInt (строковые значения);

0

через него основным Java. ты должен знать что.

String.valueof(int values) to convert Int to String 


Integer.parseInt(string values) to convert String to Int 
Смежные вопросы