嘿嘿嘿,写下来提高一下自己,同时分享一下。
今天写到adapter,具体业务不讲了,就是item上的button必须在activity实现,但是发现在activity中点击button获取不到item的position,网上找了好多没找到,直接贴代码。
//adapter
infoView.caiyong_image = (ImageView) convertView.findViewById(R.id.caiyong_image);
infoView.caiyong_image.setTag(position);
在adapter的getView中我们获取到button的id(我这里是ImageView)然后给他setTag当前的position,这样我们就能在onClick中getTag了。
但是上面也说了要在activity中实现点击事件,怎么在activity获取到button的对象呢,我在adapter中写了一个接口,下边代码
public interface OnClick{
public void click(View v);
};
public QingbaoAdapter(Context context, List<AppIntelligence> list,OnClick onClick) {
this.context = context;
this.list = list;
this.onClick = onClick;
}
@Override
public void onClick(View v) {
onClick.click(v);
}
这样我们在activity中就可以重写这个button的点击事件了,(activity需要继承OnClick),同时我们可以在activity的button的点击事件里getTag这个position
@Override
public void click(View v) {
clickItemButton = (Integer) v.getTag();
}
获取到点击的item我们不是想干什么就能干什么了。