在我的应用程序中,我正在选择要订购的商品。我的问题是,如果我选中要订购的复选框,甚至另一个复选框也被选中。表示如果我选择单个 Item ,则会检查两个 Items。
从 5 件商品开始,它被正确检查并显示在订购页面中。从第 6 个项目开始,如果我选择它,则会在订购页面中显示其他一些项目。
这是我的列表代码:
public View getView(final int position, View convertView, ViewGroup parent) {
View view = convertView;
final ViewHolder viewHolder;
if (view == null) {
view = inflater.inflate(R.layout.appetiserlistview, null);
viewHolder = new ViewHolder();
viewHolder.image=(ImageView)view.findViewById(R.id.appetiserimage);
viewHolder.text = (TextView) view.findViewById(R.id.appetisertext);
viewHolder.desc=(TextView)view.findViewById(R.id.appetiserdesc);
viewHolder.price=(TextView)view.findViewById(R.id.appetiserprice);
viewHolder.checkbox = (CheckBox) view.findViewById(R.id.bcheck);
view.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) view.getTag();
}
viewHolder.image.setImageBitmap(bmps[position]);
viewHolder.price.setText(prices[position]);
viewHolder.desc.setText(descs[position]);
viewHolder.checkbox.setTag(itemnames[position]);
ViewHolder holder = (ViewHolder) view.getTag();
holder.text.setText(itemnames[position]);
viewHolder.checkbox.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
if (((CheckBox) v).isChecked())
{
arr.add(itemnames[position]);
itemprice.add(prices[position]);
image.add(bmps[position]);
}
最佳答案
您必须保存所有复选框的状态并相应地恢复它们。这是我已经发布的示例。如果您遇到任何问题,请告诉我。我会尽力帮助你。
检查这个链接
关于android - Android 中错误的复选框选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10749272/