我有一个多选ListView和一个SparseBooleanArray来存储所选项。我想什么时候选择项目来构建一个字符串,其中的项目用逗号分隔,以便将其保存在sqlite数据库中
public boolean onActionItemClicked(ActionMode mode, MenuItem item)
{
if (item.getItemId() == R.id.action_settings){
selected = mAdapter.getSelectedIds();
short size = (short)selected.size();
for (byte I = 0; I<size; I++){
if (selected.valueAt(I)) {
String selectedItem = mAdapter.getItem(selected.keyAt(I));
sb.append(","+selectedItem);
}
}
// Close CAB (Contextual Action Bar)
mode.finish();
return true;
}
return false;
}
所以,如果我执行sb.append(“,”,selectedItem),它会在前面放一个逗号吗?
答案 0 :(得分:0)
试试这个
public boolean onActionItemClicked(ActionMode mode, MenuItem item)
{
if (item.getItemId() == R.id.action_settings)
{
selected = mAdapter.getSelectedIds();
short size = (short)selected.size();
for (byte I = 0; I<size; I++)
{
if (selected.valueAt(I))
{
String selectedItem = mAdapter.getItem(selected.keyAt(I));
sb.append(selectedItem+",");
}
}
String strFormated=sb.toString().substring(0,sb.toString().length() - 1);
// Close CAB (Contextual Action Bar)
mode.finish();
return true;
}
return false;
}
然后使用strFormated
字符串进行保存。