CheckBox和setOnItemClickListener在android系统不工作 [英] CheckBox and setOnItemClickListener not working in 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屋!