问题:

Fragment中没有提供监听touch事件的方法。

解决方案:

Activity中能够监听touch事件。

于是在Activity中写一个接口,MyOnTouchListener,在需要监听touch事件的fragment中实现这个窗口。

在Activity中实现如下方法:

/*** 以下的几个方法用来,让fragment能够监听touch事件*/private ArrayList onTouchListeners = new ArrayList(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 GestureDetector mGestureDetector;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() {@Overridepublic boolean onTouch(MotionEvent ev) {boolean result = mGestureDetector.onTouchEvent(ev);return result;}};((MainActivity) getActivity()).registerMyOnTouchListener(myOnTouchListener);return view;}


更多相关文章

  1. Dagger2使用详解
  2. android基础(1)
  3. Android(安卓)模拟按键事件(KeyEvent)
  4. Android(安卓)8.0指纹流程
  5. android 自定义Toast增加点击事件、Toast弹出隐藏动画、Toast宽
  6. android中开启子线程
  7. Android离线Doc文档访问速度慢的有效解决方法
  8. Android仿微信雷达扫描效果的实现方法
  9. Android通过手机GPS获取经纬度方法

随机推荐

  1. 一个令人惊艳的万能码(安全扫码专业委员会
  2. 个人简历表格制作与表单制作
  3. laravel环境配置
  4. 商城实战项目
  5. 漫画裤子怎么画?一组裤装的绘画参考!
  6. 收藏|2021年阿里云开源镜像站最热门镜像王
  7. 意派Epub360丨圣诞节营销利器:一键生成微
  8. 标准盒模型和弹性盒模型仿PHP中文网导航
  9. 万能码的轻便快捷独树一帜(安全扫码专业委
  10. md5加密与数组函数