CheckBox和setOnItemClickListener在android系统不工作 [英] CheckBox and setOnItemClickListener not working in android

查看:183
本文介绍了CheckBox和setOnItemClickListener在android系统不工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的ListView 复选框。我选择只有一个复选框,但它的使用自动选择为多行滚动型

I am using ListView with CheckBox. I have selected only one CheckBox but it's automatically selected into Multiple Rows using ScrollView.

样code(这code为正常使用)

Sample Code (This Code is working Perfectly)

       holder.checkbox.setOnClickListener( new OnClickListener()
        {
            public void onClick( View v )
            {
                CheckBox cb = ( CheckBox ) v;
                if ( cb.isChecked() )
                {
                    test[position] = true;
                    holder.checkbox.setChecked(test[position]);
                }
                else
                {
                    test[position] = false;
                    holder.checkbox.setChecked(test[position]);
                }
            }
        });
        holder.checkbox.setChecked(test[position]);

但是,当我使用 setOnItemClickListener 它不工作。

样code(这code不工作对我来说)

Sample Code (This code is not working for me)

        listview.setOnItemClickListener( new OnItemClickListener() 
        {
            public void onItemClick( AdapterView<?> parent, final View v, final int position, long id ) 
            {
                holder.checkbox = ( CheckBox ) v.findViewById( R.id.lock_File_CheckBox );
                if ( holder.checkbox.isChecked() )
                {
                    test[position] = false;
                    holder.checkbox.setChecked(test[position]);
                }
                else
                {
                    test[position] = true;
                    holder.checkbox.setChecked(test[position]);
                }
            }
        });
        holder.checkbox.setChecked(test[position]);

在那里我可以错了。如何避免这种复选框选择。

您可以帮帮我吗?

推荐答案

您可以得到CheckBox的实例中 onItemClick()使用 setTag () getTag()。您可以setTag你的 getView()方法中的CheckBox实例为

You can get the instance of CheckBox inside onItemClick() by using setTag() and getTag(). You can setTag the CheckBox instance inside your getView() method as

convertView.setTag(R.id.check, viewHolder.checkbox);

和获取实例里面 onItemClick()使用,

CheckBox checkbox = (CheckBox) v.getTag(R.id.check);

如果您有任何进一步的查询,可以查询的 我的博客文章

If you have any further query you can check my blog post.

这篇关于CheckBox和setOnItemClickListener在android系统不工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆