Android 添加StringBuilder
我有5个复选框,我必须选择多个复选框 我制作了一个这样的代码,以选中复选框:Android 添加StringBuilder,android,checkbox,stringbuilder,Android,Checkbox,Stringbuilder,我有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");
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>();
list ArrayList list=new ArrayList();
我以字符串形式检索值,如下所示:
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;
StringBuilder sb=新建StringBuilder();
对于(int i=0;i
我得到了字符串,但是如果选择了两个值,它会变成2,3,
如何删除最后一个逗号?我不希望字符串的最后一个逗号必须是2,3。您可以检查条件:
for (String str : list)
{
sb.append(str.toString());
if (i!=list.size()-1)
{
sb.append(",");
}
}
您可以使用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;
StringBuilder sb=新建StringBuilder();
对于(int i=0;i 0){
sb.deleteCharAt(sb.length()-1);
}
字符串sel_cat=sb;
或在代码中使用
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;
StringBuilder sb=新建StringBuilder();
对于(int i=0;i另一个选项是查看:
有一种连接方法,它可以获取一个数组并将其与delimeter组合在一起
例:
您可以将字符串数组置于以下条件:
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;
}
这也是我的第一步,但在每次迭代中都需要一个条件。imho您最好使用已经编写和测试的代码,然后滚动自己的代码。因此,我建议使用开源apache string util Library取消了我的投票,因为我不明白为什么str.toString()
用于append()
调用。这不是已经是一个字符串了吗?还有,最后一行;String sel_cat=sb;
会编译吗?您好,欢迎使用StackOverflow。请不要只转储代码作为您的答案,解释您正在做什么,以便人们能够理解如何解决问题。谢谢。
StringUtils.join([null, "", "a"], ',') // creates... ",,a"
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;
}
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;