我有一个包含20个项目的列表视图,使用CheckedTextView的android.R.layout.simple_list_item_multiple_choice作为文本视图布局。我希望复选框在选中时被选中,通过以下方式实现:
public void onListItemClick(ListView parent, final View v, int pos, long id) {
((CheckedTextView) v).setChecked(true);
}然而,当我这样做时,不仅是特定的checkedtextview会被检查,还有其他几个也会被检查。
发布于 2012-03-15 16:11:31
试试这个-
((CheckedTextView)parent.getChildAt(pos)).setChecked(true);发布于 2012-03-15 16:34:40
您可以通过创建自定义适配器来实现这一点。您所需要做的就是创建一个扩展BaseAdapter类的新类。
要将此代码用于您正在使用的布局,您需要修改getView method.below是以下代码片段
公共视图持有者(int getView,视图convertView,ViewGroup parent) { ViewHolder getView;
if (convertView == null)
{
convertView = mInflater.inflate(android.R.layout.simple_list_item_multiple_choice, null);
holder = new ViewHolder();
holder.checkbox = (CheckedTextView) convertView.findViewById(android.R.id.text1);
convertView.setTag(holder);
}
else
{
holder = (ViewHolder) convertView.getTag();
}
holder.checkbox.setText(tasks.get(position).getName());
holder.checkbox.setChecked(tasks.get(position).isCompleted());
return convertView;
}
static class ViewHolder {
CheckedTextView checkbox;
}希望这能对你有所帮助。
https://stackoverflow.com/questions/9715881
复制相似问题