Android在Fragment中实现监听触摸事件
作者:Jerey_Jobs 发布时间:2023-08-22 05:24:34
标签:Android,fragment,监听
本文给大家介绍的是监听Fragment的触摸事件实现。如果大家有更好的机制,可以留言交流,下面来看看详细的介绍:
大家都知道,我们的activity中有onTouchEvent
方法,可以用来实现触摸事件的监听。
activity的触摸事件
@Override
public boolean onTouchEvent(MotionEvent event) {
return super.onTouchEvent(event);
}
但是对于Fragment
,其中却没有这个方法,如果我们在fragment
中想要监听触摸事件 该如何实现呢?
我的方法是,自己实现触摸事件的分发。
先定义一个接口
public interface MyOnTouchListener {
public boolean onTouch(MotionEvent ev);
}
再搞一个list
存储listener
private ArrayList<MyOnTouchListener> onTouchListeners = new ArrayList<MyOnTouchListener>(
10);
再自己实现注册,与销毁以及分发
fragment
触摸事件分发,将触摸事件分发给每个能够响应的fragment
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
for (MyOnTouchListener listener : onTouchListeners) {
if(listener != null) {
listener.onTouch(ev);
}
}
return super.dispatchTouchEvent(ev);
}
public void registerMyOnTouchListener(MyOnTouchListener myOnTouchListener) {
onTouchListeners.add(myOnTouchListener);
}
public void unregisterMyOnTouchListener(MyOnTouchListener myOnTouchListener) {
onTouchListeners.remove(myOnTouchListener) ;
}
那么在fragment
中 我们这样使用即可:初始化 * ,然后向activity
注册,同时 * 中监听手势动作。
onTouchListener = new MusicActivity.MyOnTouchListener() {
@Override
public boolean onTouch(MotionEvent ev) {
gestureDetector.onTouchEvent(ev);
return false;
}
};
((MusicActivity) getActivity()).registerMyOnTouchListener(onTouchListener);
来源:http://jerey.cn/2016/11/02/如何在Fragment中监听触摸事件/


猜你喜欢
- 本文实例讲述了在.net应用程序中运行其它EXE文件的方法。分享给大家供大家参考。具体实现方法如下:Process proc = new P
- 本文实例为大家分享了Java实现24点小游戏的具体代码,供大家参考,具体内容如下程序设计要求:24点游戏是经典的纸牌益智游戏。常见游戏规则:
- 前言关键字Final不仅可以用来修饰变量,而且对类及其方法的继承也有很大的影响,本文将从类与方法两个方面介绍final关键字的功能。Fina
- 本文实例为大家分享了Java swing 仿QQ账号密码输入框,供大家参考,具体内容如下主要思路是自己定义 AccountPanel 和 P
- 问题注意:本人使用的Spring Boot 2.0.2, 对1.5.x系列未必有用。官方文档在这里直接解决办法0, 移除spring-boo
- 一、依赖传递1. 直接依赖与间接依赖pom.xml 声明了的依赖是直接依赖,依赖中又包含的依赖就是间接依赖(直接依赖的直接依赖),间接依赖虽
- Gituhb项目Volley源码中文注释项目我已经上传到github,欢迎大家fork和start.为什么写这篇博客本来文章是维护在gith
- 这个是基于SystemBarTintManager更改的增加一个方法:用于更改MIUIV6系统上的状态栏字体颜色 ,目前我仅仅只发现MIUI
- 一、线程的优先级别线程优先级别的使用范例:package cn.galc.test;public class TestThread6 { p
- 字符串广泛应用 在 Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。深刻认识Stri
- 引言在高并发的场景下,异步是一个极其重要的优化方向。前段时间,生产环境发生一次事故,笔者认为事故的场景非常具备典型性 。写这篇文章,笔者想和
- 本文实例讲述了Android开发之完成登陆界面的数据保存回显操作。分享给大家供大家参考,具体如下:LoginActivity.java:pa
- 这篇文章主要介绍了SpringBoot跨域Access-Control-Allow-Origin实现解析,文中通过示例代码介绍的非常详细,对
- 首先我们看看为什么需要对象复制?为什么需要对象复制如上,是我们平时开发中最常见的三层MVC架构模型,编辑操作时Controller层接收到前
- 这篇文章主要介绍了springboot项目访问静态资源的配置代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习
- 简介本文用示例介绍SpringBoot如何解决雪花算法主键ID传到前端后精度丢失问题。问题描述Java后端Long类型的范围-2^63~2^
- 由于之前一直在使用spring-boot开发,但一直苦恼于不知道如何利用debug调试代码.在网上查找了很多文章之后。学习之余决定把spri
- 目录简介:根据sun的官方文档描述:示例:@SuppressWarnings注解的作用一.@SuppressWarings注解示例1——抑制
- 本文实例讲述了C#中Arraylist的sort函数用法。分享给大家供大家参考。具体如下:ArrayList的sort函数有几种比较常用的重
- 本文实例为大家分享了Java实现窗体程序显示日历的具体代码,供大家参考,具体内容如下实训要求:1.使用BorderLayout 进行总体布局