2016-04-10 16 views
0

Ich bekomme ein JSON-Array von Webservice, aber wenn ich den Wert auf die Textansicht gesetzt habe, bekomme ich nur den letzten Wert.Wie setze ich jsonarray zu textview?

-Code:

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: Montag: 24 Stunden geöffnet I/openhrs: Dienstag: 24 Stunden geöffnet I/openhrs : Mittwoch: 24 Stunden geöffnet I/Öffnungszeiten: Donnerstag: 24 Stunden geöffnet I/Öffnungszeiten: Freitag: 24 Stunden geöffnet I/Öffnungszeiten: Samstag: 24 Stunden geöffnet I/openhrs: Sonntag: 24 Stunden geöffnet

Wie der gesamten Zeichenfolge Wert auf die Textview setzen?

Dank

+0

Zeichenfolge s = jsonArray.toString(); –

+0

@RakshitNawani Ich erhalte das Ergebnis mit eckigen Klammern, Anführungszeichen und Kommata in der Textansicht –

Antwort

1

Zeichenfolge openhrs zu openhrs ändern + = jsonarrayopenhrs.getstring (j)

es jeden Wert von JSON-Array an die Zeichenfolge openhrs hinzufügen.

, was du tust ist youre den Wert von openhrs jedes Mal ersetzt die Schleife in Ihrem Code bekommt das ist, warum Sie immer das letzte Ergebnis erhalten

0

Sie sollten in einem String-Datentyp alle Ihre Zeichenfolge anhängen als auf editText Etwas wie folgt aus:

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

Nun zum EditText mynewString Sie setzen !!

0

Sie die Texte wie hier zum Anhängen suchen Mag sein,

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

Ich habe das vorher gemacht, aber ich bekomme dasselbe Ergebnis, aber wenn ich jsonArrayOpnHrs.toString mache, dann bekomme ich alle Werte, aber mit [] und Anführungszeichen –

+0

Ja das ist, was passiert. –