为listview的item中的元素设置onclick事件
2024-10-15 03:08:49
表达能力比较差,所以现在解释一下标题的意思:
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); } };
最新文章
- W5200移植W5500驱动教程
- c#之第二课
- hive 安装教程
- spring mvc 介绍
- JQ之路——layer第三方弹窗
- C++STL之string (转)
- mobilize扁平化的fullPage.js类工具使用心得
- BZOJ 1212 HNOI 2004 L语言 Trie树
- BZOJ 2809: [Apio2012]dispatching [斜堆]
- python函数默认参数陷阱
- css响应式
- has invalid type <;class &#39;numpy.ndarray&#39;>;, must be a string or Tensor
- linux find 只获取文件名而去除路径
- 什么是 maven的uber-jar
- 【iCore1S 双核心板_ARM】例程十三:SDIO实验——读取SD卡信息
- java InputStream和OutputStream
- 在Ubuntu Server上安装Postgresql
- 无锁并发框架Disruptor学习入门
- 一些unity问题的收集
- 铁乐学python26_hashlib+configparser+logging模块
热门文章
- 执行sql出现No Dialect mapping for JDBC type: -9错误
- 用jQuery屏蔽掉按回车键时提交表单
- [oracle] 安装卸载及常见问题
- Docker之删除container和image
- strcpy、strncpy、memcpy的区别
- linux -- Linux下的五个查找命令:grep、find、locate、whereis、which
- websocke前世今生
- hdu 1281 棋盘游戏 (二分匹配)
- TF42064: The build number already exists for build definition error in TFS2010
- CentOS系统中的passwd命令实用技巧小结