2016-04-10 5 views
0

Я получаю массив json от webservice, но когда я устанавливаю значение в textview, я получаю только последнее значение.Как установить jsonarray в textview?

Код:

JSONObject openhrsjson = new JSONObject(opening_hours); 
String resultOpnHrs = openhrsjson.getString(WEEKDAY_TEXT);        
JSONArray jsonArrayOpnHrs = new JSONArray(resultOpnHrs); 
for (int j = 0; j < jsonArrayOpnHrs.length();j++){ 
    final String openhrs = jsonArrayOpnHrs.getString(j); 
    Log.i("openhrs",openhrs); 
    runOnUiThread(new Runnable() { 
     @Override 
     public void run() { 
      txtOpenHrs.setText(openhrs); 
     } 
    }); 
    } 

Logcat:

I/resultOpnHrs﹕ ["Monday: Open 24 hours","Tuesday: Open 24 hours","Wednesday: Open 24 hours","Thursday: Open 24 hours","Friday: Open 24 hours","Saturday: Open 24 hours","Sunday: Open 24 hours"] 

I/openhrs: Понедельник: Открыто 24 часа I/openhrs: Вторник: Открыто 24 часа I/openhrs : Среда: Открыт 24 часа I/openhrs: четверг: открыт 24 часа I/openhrs: пятница: открыт 24 часа I/openhrs: Суббота: Открыто 24 часа I/openhrs: Воскресенье: Открыто 24 часа

Как установить все значения строки в TextView?

Благодаря

+0

Строка s = jsonArray.toString(); –

+0

@RakshitNawani Я получаю результат с квадратными скобками, кавычками и запятыми в textview –

ответ

1

изменить строку openhrs к openhrs + = jsonarrayopenhrs.getstring (J)

он добавит каждое значение массива JSON в строку openhrs.

, что ты делаешь это Youre замену Значения openhrs каждый раз, когда цикл попадет в вашем коде вот почему вы всегда получите последний результат

0

Вы должны добавлять к каждой строки в тип данных один Струнный, чем установлено в EditText Что-то вроде этого:

StringBuffer result = new StringBuffer(); 
for (int i = 0; i < a.length; i++) { 
result.append(a[i]); 
} 
String mynewstring = result.toString();  

Теперь набор вы mynewString к EditText !!

0

Может быть вы ищете для добавления текстов, как здесь,

txtOpenHrs.setText(""); 

JSONObject openhrsjson = new JSONObject(opening_hours); 
String resultOpnHrs = openhrsjson.getString(WEEKDAY_TEXT);        
JSONArray jsonArrayOpnHrs = new JSONArray(resultOpnHrs); 
for (int j = 0; j < jsonArrayOpnHrs.length();j++){ 
    final String openhrs = jsonArrayOpnHrs.getString(j); 
    Log.i("openhrs",openhrs); 
    runOnUiThread(new Runnable() { 
     @Override 
     public void run() { 
      txtOpenHrs.append(openhrs); //Append texts to textView 

     } 
    }); 
    } 
+0

Я делал это ранее, но я получаю тот же результат, но если я делаю jsonArrayOpnHrs.toString, тогда я получаю все значения, но с [] и перевернутые запятые –

+0

да, что происходит. –

Смежные вопросы