¿Alternativa para String.join en Android?

82

Quiero concatenar una ArrayList con comas como separadores. Encontré esta respuesta , indicando que es posible usarla String.joinen Java.

Sin embargo, cuando intento usar esto, Android Studio da el siguiente error:

No se puede resolver el método 'join (java.lang.String, java.lang.String, java.lang.String, java.lang.String)'

¿Existe una alternativa buena y concisa para Android Studio (en lugar de usar un bucle for)?

TheLeonKing
fuente
TextUtils.join () tal vez?
mjp66
pruebe StringUtils.join
Bhargav Thanki

Respuestas:

186

Puedes usar TextUtils.joinen su lugar:

String result = TextUtils.join(", ", list);

( String.joinse agregó en Java 8, por lo que no puede usarlo en Android).

Jon Skeet
fuente
3
Para ahorrar algunos clics a los usuarios que no son de Android Studio:import android.text.TextUtils
Peter Jankuliak
El uso de TextUtils puede causar problemas con la prueba unitaria. En ese caso, use una función de aquí: android.googlesource.com/platform/frameworks/base/+/refs/heads/…
Subin
1
@Subin: ¿Qué tipo de problema? ¿Y por qué vincular a TextUtils como alternativa a TextUtils? Me temo que tu comentario no es muy claro.
Jon Skeet
@JonSkeet Causa este problema: stackoverflow.com/q/35763289/1372424 Solución desde aquí: medium.com/@okmanideep/…
Subin
2
@Subin: Correcto, específicamente si estás usando Mockito. Y tenga en cuenta que la solución es una cuestión de copiar la fuente TextUtils en su proyecto de prueba.
Jon Skeet
7
String[] List ={"<html>","<body>","<title>"};
String abc;       
abc =TextUtils.join("\n", List);
textmsg.getText().insert(textmsg.getSelectionStart(), abc);

resultado:

<html>
<body>
<title>
BREI
fuente
4

Puedes usar esto

TextUtils.join(", ", your_list);
Zeeshan Ahmed
fuente