首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >追加StringBuilder

追加StringBuilder
EN

Stack Overflow用户
提问于 2011-11-17 20:29:40
回答 6查看 46.6K关注 0票数 12

我有5个复选框,我必须选中多个复选框。

我做了这样的代码来检查复选框是否被选中:

代码语言:javascript
复制
sports=(CheckBox)findViewById(R.id.sports_btn);
sports.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        if (sports.isChecked() == true)
        list.add("4");
    }
}); 

我正在向数组列表中添加一个值:

代码语言:javascript
复制
list ArrayList<String> list = new ArrayList<String>();

我检索字符串形式的值,如下所示:

代码语言:javascript
复制
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;

我得到了字符串,但如果选择了两个值,它就像2,3,如何删除最后一个逗号?我不希望字符串的最后一个逗号必须是2,3。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-11-17 20:35:05

代码语言:javascript
复制
StringBuilder sb = new StringBuilder();
sb.deleteCharAt(sb.length()-1) 

或在您的代码中使用

代码语言:javascript
复制
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;
票数 36
EN

Stack Overflow用户

发布于 2011-11-17 20:34:08

您可以将条件放入检查:

代码语言:javascript
复制
for (String str : list)
{
   sb.append(str.toString());
   if (i!=list.size()-1)
   {
     sb.append(",");
   }
}
票数 5
EN

Stack Overflow用户

发布于 2014-05-15 17:42:24

您可以将字符串数组放在以下条件中:

代码语言:javascript
复制
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;
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8167088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档