Versuchen, eine Arraylist der Zeichenketten in eine große Komma getrennte Zeichenkette zu konvertieren.Arraylist der Zeichenketten in eine Komma getrennte Zeichenkette
aber wenn ich die
String joined = TextUtils.join(", ", participants);
Debugger zeigt mir Größe von 4 für die Teilnehmer jedoch den zusammengefügten Wert als "" daher leer
private ArrayList<String> participants;
nicht sicher, was los ist falsch?
UPDATE:
List<String> list = new ArrayList<>();
list.add("Philip Johnson");
list.add("Paul Smith");
list.add("Raja P");
list.add("Ezhu Malai");
String s = TextUtils.join(", ", list);
Dies funktioniert, wenn ich eine Liste, die ich manuell jedoch unten füllen ist, wie der Code jetzt arbeitet.
Im onCreate()
callApi(type);
String s = TextUtils.join(", ", participants);
getSupportActionBar().setTitle(s);
In callAPI():
JSONArray participantsR = sub.getJSONArray("referralParticipants");
Log.e("Participants length ", String.valueOf(participantsR.length()));
for (int i = 0; i < participantsR.length(); i++) {
JSONObject object = participantsR.getJSONObject(i);
String firstname = (String) object.get("fullName");
participants.add(firstname);
Log.e("Times", String.valueOf(i));
}
Ich habe es einfach kopiert und es hat sich bewährt. Allerdings füge ich das Array von einem API-Aufruf hinzu. Wenn ich zurück zum Ersetzen der Liste mit der Liste, die von der API aktualisiert wurde, zurückwechsle, wird wieder nichts im Join-Objekt angezeigt. Obwohl die Liste 4 String-Elemente enthält. – Adilp
Ich habe meine Frage mit mehr Code aktualisiert, wie meine Liste ausgefüllt wird – Adilp
Sie sollten Ihren Netzwerk-Call-Code veröffentlichen. Ich gehe davon aus, dass Sie nicht warten auf den Abschluss des Aufrufs, bevor Sie den Join tun, und daher eine leere Liste beitreten. Beim Debuggen wird dies nicht so aussehen, da der Netzwerk-Thread fortgesetzt wird und die Liste auffüllt, während Sie die Debugging-Tools öffnen. – MrMannWood