【发布时间】:2015-11-15 18:20:50
【问题描述】:
我有带有自定义适配器的列表视图。此列表视图的每个元素都有复选框。标准功能 .getCheckedItemPositions() 不起作用。
创建:
final String[] words = new String[] {
"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13"
};
MySimpleArrayAdapter adapter = new MySimpleArrayAdapter(this, words);
listView.setAdapter(adapter);
我的适配器:
public class MySimpleArrayAdapter extends ArrayAdapter<String> {
private final Context context;
private final String[] values;
DataBaseHelper myDbHelper;
int id = 1;
public MySimpleArrayAdapter(Context context, String[] values) {
super(context, R.layout.listitem, values);
this.context = context;
this.values = values;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View rowView = inflater.inflate(R.layout.listitem, parent, false);
CheckBox checkBox = (CheckBox)rowView.findViewById(R.id.checkBox);
TextView newwordview = (TextView)rowView.findViewById(R.id.newwordview);
newwordview.setText("lalala");
return rowView;
}
}
我在这里尝试检查项目:
public void addbtnclick(View view){
int cntChoice = listView.getCount();
SparseBooleanArray sparseBooleanArray = listView.getCheckedItemPositions();
for (int i = 0; i < cntChoice; i++) {
if (sparseBooleanArray.get(i) == true) {
String a = listView.getItemAtPosition(i).toString();
myDbHelper.setadd(a, "en");
} else if (sparseBooleanArray.get(i) == false) {
}
}
}
在调试中 sparseBooleanArray 总是有 0 个项目。 我该怎么办?
【问题讨论】:
-
您收到的问题/错误是什么?