我有一个包含20个项目的列表视图,使用android.R.layout.simple_list_item_multiple_choice作为textview布局,它使用CheckedTextView。我希望在选中时选中复选框,通过以下方式进行检查:
public void onListItemClick(ListView parent, final View v, int pos, long id) {
((CheckedTextView) v).setChecked(true);
}
然而,当我这样做时,不仅要检查特定的checkedtextview,还要检查其他几个。
答案 0 :(得分:0)
试试这个 -
((CheckedTextView)parent.getChildAt(pos)).setChecked(true);
答案 1 :(得分:0)
您可以通过创建自定义适配器来实现此目的。你需要做的就是 创建一个扩展BaseAdapter类的新类。
为了使用您正在使用的布局,您需要修改 getView method.below是片段
public View getView(int position,View convertView,ViewGroup parent) { ViewHolder holder;
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;
}
希望这对你有所帮助。