Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Adición con StringBuilder

Tengo 5 casillas de verificación y tengo que seleccionar varias casillas de verificación.

Hice un código como este para comprobar la casilla de verificación está marcada:

sports=(CheckBox)findViewById(R.id.sports_btn); sports.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (sports.isChecked() == true) list.add("4"); } }); 

Estoy agregando un valor a una lista de matrices:

 list ArrayList<String> list = new ArrayList<String>(); 

Y estoy recuperando el valor como una cadena como esta:

 StringBuilder sb = new StringBuilder(); for(int i =0; i < list.size(); i++) { for (String str: list) { sb.append(str.toString()); sb.append(","); } } String sel_cat = sb; 

Estoy recibiendo la cadena pero si dos valores se seleccionan viene como 2,3, ¿Cómo quitar esa última coma? No quiero que la última coma de la cadena tiene que ser como 2,3.

6 Solutions collect form web for “Adición con StringBuilder”

 StringBuilder sb = new StringBuilder(); sb.deleteCharAt(sb.length()-1) 

O en su código, utilice

 StringBuilder sb = new StringBuilder(); for(int i =0;i<list.size();i++) { String prefix = ""; for (String str : list) { sb.append(prefix); prefix = ","; sb.append(str); } } String sel_cat = sb; 

Usted puede poner la condición para comprobar:

 for (String str : list) { sb.append(str.toString()); if (i!=list.size()-1) { sb.append(","); } } 

Puede poner su matriz de cadenas en condición:

 String list[]=new String[]{"A","C","D","F"}; public String print(String arr[]){ StringBuilder sb = new StringBuilder(); String prefix = ""; for (String str : arr) { sb.append(prefix); prefix = ","; sb.append(str); } System.out.println("WithCommas"+sb); return sb; } 

Puede utilizar deleteCharAt:

 StringBuilder sb = new StringBuilder(); for(int i =0;i<list.size();i++) { for (String str : list) { sb.append(str); // str is already a String, no need for toString() sb.append(","); } } if (sb.length() > 0) { sb.deleteCharAt(sb.length()-1); } String sel_cat=sb; 

Otra opción es mirar StringUtils#join(Object\[\], String, int, int) :

Hay un método de unión que puede tomar una matriz y ponerlo junto con un delimitador …

ex:

  StringUtils.join([null, "", "a"], ',') // creates... ",,a" 
 import android.app.DatePickerDialog; import android.app.TimePickerDialog; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.DatePicker; import android.widget.EditText; import android.widget.ImageButton; import android.widget.ScrollView; import android.widget.TimePicker; 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.