11
votes

Ajout avec StressBuilder

J'ai 5 cases à cocher et je dois sélectionner plusieurs cases à cocher.

J'ai créé un code comme celui-ci pour vérifier que la case à cocher est cochée: xxx

Je ajoute un valeur à une liste de matrices: xxx

et je récupère la valeur comme chaîne comme ceci: xxx

je reçois la chaîne mais si deux valeurs sont sélectionnées, elle vient comme 2,3, Comment supprimer cette dernière virgule? Je ne veux pas que la dernière virgule la chaîne soit comme 2,3.


1 commentaires

IMHO Vous êtes toujours mieux en train d'utiliser le code déjà écrit et testé puis roulant votre propre dès que ma recommandation d'utiliser l'opensource Apache String Util Bibliothèque


6 Réponses :


5
votes

Vous pouvez mettre la condition de vérifier: xxx


1 commentaires

C'était aussi mon premier coup aussi, mais cela nécessite une condition dans chaque itération.



1
votes

Vous pouvez utiliser Supprarat:

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;


0 commentaires

35
votes
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;

1 commentaires

Annulé mon devote pour la raison pour laquelle je ne comprends pas pourquoi str.tostring () est utilisé dans append () appel. N'est-ce pas déjà un chaîne ? Aussi, la dernière ligne va-t-elle String SEL_CAT = SB; Compiler?




3
votes

Vous pouvez mettre votre tableau à chaîne en état:

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;
}


0 commentaires

-3
votes
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;

1 commentaires

Bonjour, bienvenue à Stackoverflow. S'il vous plaît, ne viez pas que votre réponse est votre réponse, expliquez ce que vous faites pour que les gens puissent comprendre comment résoudre le problème. Merci.