为listview的item中的元素设置onclick事件
2014-06-29 14:15
357 查看
表达能力比较差,所以现在解释一下标题的意思:
listview的列表项,点击的时候触发的是itemOnClick事件,点击后转向到A页;那么,假如在子项中有一个连接是想转到B页,我们该怎么办呢。这样能明白了吧,好,现在我说一下解决的办法:
有两种办法,一种是重写adapter,一种是在你的子项中的元素中设置onclick事件(注意,是在xml中设置onclick元素)
我只做了第一种方法,演示如下:
我们继承adapter的基类,然后重写getView
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中设置Button点击事件优化,避免重复new Listener
- ListView控件的onItemClick事件和item中Button的onClick事件冲突的解决办法
- ListView item 的view设置背景后OnItemClick事件不响应 解决办法
- 如何在ListView中设置item的点击事件
- ListView中的item中的Onclick事件的优化
- ListView 中设置setonitemclicklistener()监听时,无法获取item条目的点击事件焦点
- listview的item里面有Button,并给其设置了点击事件,而且有效可点击,但是listview的item点击事件却失效了
- React Native ListView的Item设置点击事件时null is not an object
- 解决Listview中Item中控件设置点击事件而Item点击事件失效问题
- ListView中的item中的Onclick事件的优化
- JavaScript的ready方法中获取某元素(如获取某个button,并设置onclick事件)的疑问?为什么要写在ready方法里,不用ready方法可以吗?
- 举例说明ArrayAdapter的使用和如何设置ListView中每个Item的点击事件
- android中通过网络请求数据显示在Listview中,面对许多的item,如何给每个item设置点击事件以跳转到不同的activity
- ListView同时响应itemclick事件和item控件的onClickListener时间的解决办法
- ListView的Item里的TextView设置ClickableSpan和LinkMovementMethod导致ListView无法响应点击事件
- Skyline中listview中item的onclick事件
- PullToRefreshListView的item设置长按事件
- ListView集合中设置标记 setTag();方法带一个参数和两个参数的区别,以及设置标记时ViewHolder中的每一个属性控件都需要设置一次,否则在Item中每一个控件的点击事件中取出设置的标
- listview为不同的item设置不同的点击事件
- 解决android ListView item中事件处理无法响应方法