android - Android 中错误的复选框选择?

标签 android list listview checkbox

在我的应用程序中,我正在选择要订购的商品。我的问题是,如果我选中要订购的复选框,甚至另一个复选框也被选中。表示如果我选择单个 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]);


                }

最佳答案

您必须保存所有复选框的状态并相应地恢复它们。这是我已经发布的示例。如果您遇到任何问题,请告诉我。我会尽力帮助你。

检查这个链接

How to implement a button that gets all checkbox's state and adds the value of checked item into arraylist?

关于android - Android 中错误的复选框选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10749272/

相关文章:

c# - 在嵌套 ListView 中访问父数据项

java - 使用osm在android map 中标记点击事件

python - 根据内部列表的第 N 个元素的总和对列表的列表的列表进行排序

java - 尝试使用 Parse 查询的结果填充 ListView

Java 列表错误超出范围

c++ - 洗牌 QStringList 中的元素

Android:通过 SimpleAdapter 在 imageview 中显示图像

java - 在 Android 中使用 JSON 数据的 ContentAdapter

java - 将 SQLite 数据库值添加到 ListView

java - 在android中向php发送两个请求