item点击回调封装(改变带来Position的参数)
来源:互联网 发布:网络调试助手使用说明 编辑:程序博客网 时间:2024/06/10 23:40
item点击回调封装(改变带来Position的参数)
- 当ListVeiw的对象setOnItemClickListener()的时候,会进行注册并对源码监听以带来一些回调参数,或者事件的监听。
lvList.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { } });
- 现在的问题是想改变回调带来的参数值,由于源码是不能改动的,那办法就一个就是增加一个中间类去继承ListView,同样去重写父类中的setOnItemClickListener();
@Override public void setOnItemClickListener( android.widget.AdapterView.OnItemClickListener listener) { // TODO Auto-generated method stub super.setOnItemClickListener(listener); }
- 但是显而易见的是还是会把点击事件设置给父类“super.setOnItemClickListener(listener);”,怎么办呢?很简单 现在只要把监听对象的引用listener改为this,并且把引用赋给引用的接口变量。
private OnItemClickListener mItemClickListener;@Override public void setOnItemClickListener( android.widget.AdapterView.OnItemClickListener listener) { mItemClickListener = listener; super.setOnItemClickListener(this);// 将点击事件设置给当前的RefreshListView }
- 现在点击事件在ListView的子类中,那么就可以实现OnItemClickListener接口中的OnItemClick()。重写这个方法的原因就是因为可以在方法里面让监听的引用去从父类中的onItemClick()带来参数,同时去改变参数值。
@Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { if (mItemClickListener != null) { mItemClickListener.onItemClick(parent, view, position - getHeaderViewsCount(), id); } }
0 0
- item点击回调封装(改变带来Position的参数)
- android Gridview 点击某个item 改变item的背景
- android Gridview 点击某个item 改变item的背景
- android Gridview 点击 item 改变item的背景
- GridView点击item后改变item的背景
- listView点击一个Item,改变的是其他Item
- android Gridview 点击某个item 改变item的背景(不是点击效果是选中效果)
- ListView 的Item 点击后改变背景的bug问题
- Android 代码模拟ListView item的点击事件并且改变背景颜色(笔记)
- Android中GridView中Item点击背景图片的显示改变
- 改变 ListBox Item 被点击后的蓝色背景
- 点击listview,改变item的背景颜色设置
- ListView点击后改变item颜色的Demo
- Java ReentrantLock(重入锁)带来的改变
- WebGL带来的改变
- 横向滚动的ListView并且点击item附带item的背景改变
- 解决“listView点击一个Item,另外几个Item也跟着改变”的问题
- 解决“listView点击一个Item,另外几个Item也跟着改变”的问题
- POJ 3087 模拟+hash
- 阿里面试回来,想和Java程序员谈一谈
- 【noip2015】【DP】子串
- Yii2 - 03视图(View)操作,以及Layout的使用
- 静态链表的实现
- item点击回调封装(改变带来Position的参数)
- lintcode Max Points on a Line
- 使用Loader加载本地图片
- Java学习提要——对象序列化
- 读 《我的互联网方法论》 有感
- Ubuntu12.04(64bit)编译Android4.4源码和kernel
- 进程控制块PCB结构 task_struct 描述
- POJ_1915_Knight Moves
- 营业执照编码验证规则(15位和18位)