博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
为listview的item中的元素设置onclick事件
阅读量:5235 次
发布时间:2019-06-14

本文共 1214 字,大约阅读时间需要 4 分钟。

表达能力比较差,所以现在解释一下标题的意思:

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);}};

 

转载于:https://www.cnblogs.com/niray/p/3815044.html

你可能感兴趣的文章
客户端访问浏览器的流程
查看>>
codeforces水题100道 第二十二题 Codeforces Beta Round #89 (Div. 2) A. String Task (strings)
查看>>
c++||template
查看>>
[BZOJ 5323][Jxoi2018]游戏
查看>>
编程面试的10大算法概念汇总
查看>>
Vue
查看>>
python-三级菜单和购物车程序
查看>>
条件断点 符号断点
查看>>
VMware12 + Ubuntu16.04 虚拟磁盘扩容
查看>>
水平垂直居中
查看>>
MySQL简介
查看>>
设计模式之桥接模式(Bridge)
查看>>
jquery的$(document).ready()和onload的加载顺序
查看>>
Python Web框架Django (五)
查看>>
.net学习之继承、里氏替换原则LSP、虚方法、多态、抽象类、Equals方法、接口、装箱拆箱、字符串------(转)...
查看>>
【codevs1033】 蚯蚓的游戏问题
查看>>
【程序执行原理】
查看>>
python的多行注释
查看>>
连接Oracle需要jar包和javadoc文档的下载
查看>>
UVA 10976 - Fractions Again?!
查看>>