首页 > 其他 > 详细

为listview的item中的元素设置onclick事件

时间:2014-07-07 16:20:06      阅读:329      评论:0      收藏:0      [点我收藏+]

表达能力比较差,所以现在解释一下标题的意思:
listview的列表项,点击的时候触发的是itemOnClick事件,点击后转向到A页;那么,假如在子项中有一个连接是想转到B页,我们该怎么办呢。这样能明白了吧,好,现在我说一下解决的办法:
有两种办法,一种是重写adapter,一种是在你的子项中的元素中设置onclick事件(注意,是在xml中设置onclick元素)
我只做了第一种方法,演示如下:
我们继承adapter的基类,然后重写getView

@SuppressWarnings("unchecked")
public View getView(int position, View convertView, ViewGroup parent) {


convertView = mInflater.inflate(this.resource, null);

Map item = data.get(position);

int count = to.length;

for (int i = 0; i < count; i++) {

View v = convertView.findViewById(to);


bindView(v, item, from);

}
//下面的几行是亮点

View avatar = convertView.findViewById(R.id.row_avatar);//获取你要点击的组件

if (null != avatar) {//判断一下,省得出现什么错误

avatar.setTag(item);//我们可以利用setTag来存储数据,传给触发事件

avatar.setOnClickListener(avatarClickListener);//触发事件代码往下看

}

return convertView;

}


//这个就是触发的事件,根据自己的要求写
private OnClickListener avatarClickListener = new OnClickListener() {


@SuppressWarnings("unchecked")

public void onClick(View v) {

Map item = (Map) v.getTag();//还记得上面的那个setTag么?我们在这里给丫取出来

Intent mIntent = new Intent(AdapterWithHashMap.this.context,

MySelf.class);

mIntent.putExtra("user_id", item.get("uid").toString());


AdapterWithHashMap.this.context.startActivity(mIntent);

}

};

 

为listview的item中的元素设置onclick事件,布布扣,bubuko.com

为listview的item中的元素设置onclick事件

原文:http://www.cnblogs.com/niray/p/3815044.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!