我刚开始发展到android,请大家帮忙。点击图片查看复选框?
我不知道我缺少什么.. 复选框检查作品,我也想通过点击图像检查。
这部分工作得很好:
holder.checkbox.setId(position);
holder.imageview.setId(position);
holder.checkbox.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
// TODO Auto-generated method stub
CheckBox cb = (CheckBox) v;
//ImageView cb1 = (ImageView) v;
int id = cb.getId();
if (thumbnailsselection[id])
{
cb.setChecked(false);
thumbnailsselection[id] = false;
} else
{
cb.setChecked(true);
thumbnailsselection[id] = true;
}
// ImageView im = (ImageView) v;
}
});
///////////////////////////////////////////////////////
现在的问题是:
holder.imageview.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
CheckBox cb = (CheckBox) v;
int id = v.getId();
if (thumbnailsselection[id])
{
cb.setChecked(false);
thumbnailsselection[id] = false;
} else
{
cb.setChecked(true);
thumbnailsselection[id] = true;
}
}});
的logcat:
java.lang.ClassCastException: android.support.v7.widget.AppCompatImageView cannot be cast to android.widget.CheckBox
感谢。
首先,ID是唯一的,不给e相同的ID到您的imageview和复选框 –
显示您的完整代码活动 –
我认为这是因为您正在从onClick(视图v)投射“v”作为复选框,但它是ImageView –