Fragment中监听事件
来源:互联网 发布:新加坡签证 淘宝 编辑:程序博客网 时间:2024/05/21 17:19
问题:
Fragment中没有提供监听touch事件的方法。
解决方案:
Activity中能够监听touch事件。
于是在Activity中写一个接口,MyOnTouchListener,在需要监听touch事件的fragment中实现这个窗口。
在Activity中实现如下方法:
/*** 以下的几个方法用来,让fragment能够监听touch事件*/private ArrayList<MyOnTouchListener>onTouchListeners = new ArrayList<MyOnTouchListener>(10);@Overridepublic boolean dispatchTouchEvent(MotionEvent ev) {for (MyOnTouchListener listener :onTouchListeners) {listener.onTouch(ev);}return super.dispatchTouchEvent(ev);}public void registerMyOnTouchListener(MyOnTouchListener myOnTouchListener) {onTouchListeners.add(myOnTouchListener);}public void unregisterMyOnTouchListener(MyOnTouchListener myOnTouchListener) {onTouchListeners.remove(myOnTouchListener);}public interface MyOnTouchListener {public boolean onTouch(MotionEvent ev);}
dispatchTouchEvent 可以监听所有的关于屏幕的行为。。。。。
在Fragment中实现如下代码:
private GestureDetectormGestureDetector;MainActivity.MyOnTouchListener myOnTouchListener;@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {Log.e(TAG,"onCreateView");View view = inflater.inflate(R.layout.fragment_contact, container,false);this.view = view;mGestureDetector =new GestureDetector(getActivity(),new SideIndexGestureListener());listView = (ListView) view.findViewById(R.id.listview_contacts);getDataFromSQLite();spliceData();showListView();myOnTouchListener =new MainActivity.MyOnTouchListener() {@Overridepublicboolean onTouch(MotionEvent ev) {boolean result =mGestureDetector.onTouchEvent(ev);return result;}};((MainActivity) getActivity()).registerMyOnTouchListener(myOnTouchListener);return view;}
1 0
- Fragment中监听事件
- Android Fragment中监听事件
- Fragment中监听onKey事件
- Fragment中监听onKeyDown事件
- Android Fragment中监听onTouch事件
- 如何在Fragment中监听触摸事件
- 如何在Fragment中监听触摸事件
- Fragment中的监听事件
- Fragment 事件监听
- Fragment监听touch事件
- Android fragment中如何对listview添加监听事件
- 按钮的监听事件在fragment中如何实现
- 关于在fragment中监听按钮的点击事件
- Android中如何为Fragment中的按钮添加监听事件
- 在Activity/Fragment中设置搜索键的监听事件
- wemall app商城源码Fragment中监听onKey事件
- Android如何在Fragment中监听OnKeyDown、OnkeyUp事件
- android之Fragment中监听back回退事件
- 一周消息树:程序员想找好工作?那就学好Linux!
- SQL练习题
- C语言中static的变量:
- 《黑马程序员》 文件大小写转换服务器示例
- Java中char 转化为int 的两种方法
- Fragment中监听事件
- 支撑4.5亿活跃用户的WhatsApp架构概览
- js prototype创建遮罩层
- linux I2C 驱动之----i2c_client 的注册
- 如何从工程师成长为老板的合作伙伴
- 关于android 4.2+引入ksoap2之后出现不兼容和混淆的解决方案
- DataTable DataSet DataColumn DataRow 区别及用法
- 文件系统Minifilter驱动(三)
- 1周项目2