我有5个复选框,我必须选中多个复选框。
我制作了一个这样的代码来检查复选框是否已选中:
sports=(CheckBox)findViewById(R.id.sports_btn);
sports.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (sports.isChecked() == true)
list.add("4");
}
});
我正在为数组列表添加一个值:
list ArrayList<String> list = new ArrayList<String>();
我将这个值检索为字符串,如下所示:
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。
答案 0 :(得分:27)
StringBuilder sb = new StringBuilder();
sb.deleteCharAt(sb.length()-1)
或者在您的代码中,使用
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 :(得分:5)
你可以把条件检查:
for (String str : list)
{
sb.append(str.toString());
if (i!=list.size()-1)
{
sb.append(",");
}
}
答案 2 :(得分:3)
您可以将字符串数组置于条件:
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 :(得分:1)
您可以使用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;
答案 4 :(得分:0)
另一个选择是查看StringUtils#join(Object\[\], String, int, int)
:
有一个连接方法,它可以采用数组并将其与分隔符放在一起......
例如:
StringUtils.join([null, "", "a"], ',') // creates... ",,a"
答案 5 :(得分:-1)
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;