一,简单形式的

/*模拟Android中的view 点击和滑动监听

* */

public class View {

private OnClickListener onClickListener;

private OnTouchListener onTouchListener;

public void setOnClickListener(OnClickListener onClickListener) {

this.onClickListener=onClickListener;

}

public void setOnTouchListener(OnTouchListener onTouchListener) {

this.onTouchListener=onTouchListener;

}

//模拟view被点击后会调用此方法,通知click listener

public void clickView() {

onClickListener.OnClick(this);

}

//模拟view被滑动后会调用此方法,通知touch listener

public void touchView() {

onTouchListener.onTouch(this);

}

public interface OnClickListener{

void OnClick(View v);

/*参数里传入View的原因:

* 在Android中,不同view有不同的id

* 所以事件分发机制要通过这个ID来通知哪个view被点中了

* 如果你用"implements+接口"就能体会到传view参数进来的意义了

*

* */

}

public interface OnTouchListener{

void onTouch(View v);

}

}

import final学习.View.OnClickListener;

import final学习.View.OnTouchListener;

public class Client {

public static void main(String[] args) {

View view=new View();

view.setOnClickListener((OnClickListener) new OnClickListener() {

@Override

public void OnClick(View v) {

// TODO Auto-generated method stub

System.out.println("click the view");

}

});

view.setOnTouchListener((OnTouchListener)new OnTouchListener() {

@Override

public void onTouch(View v) {

// TODO Auto-generated method stub

System.out.println("touch the view");

}

});

//假装这里用户触发view的点击

view.clickView();

//假装这里用户触发view的滑动

view.touchView();

}

}

二,客户端调用的另一种方式

import final学习.View.OnClickListener;

import final学习.View.OnTouchListener;

public class Client implements View.OnClickListener,View.OnTouchListener{

private static View view;

public void init() {

view=new View();

view.setOnClickListener(this);

view.setOnTouchListener(this);

}

public static void main(String[] args) {

init();//虽然这里必须要init()是static,这个应该是ide问题,不妨碍写法是对的

//假装这里用户出发view的点击

view.clickView();

//假装这里用户触发view的滑动

view.touchView();

}

@Override

public void onTouch(View v) {

// TODO Auto-generated method stub

System.out.println("touch the view");

}

@Override

public void OnClick(View v) {

// TODO Auto-generated method stub

System.out.println("click the view");

}

}

android模拟点击滑动,模拟Android的view点击和滑动监听相关推荐

  1. Android 屏幕灭屏亮屏广播,屏幕灭屏亮屏监听,广播实现按键监听

    service 类注册广播进行监听 /*** 作者:created by meixi* 邮箱:13164716840@163.com* 日期:2018/9/27 09*/ public class S ...

  2. android gilde生命周期管理,Glide原理之Activity、Fragment生命周期监听(三)

    Glide中一个重要特性是Request可以随Activity或Fragment的onStart而resume,onStop而pause,onDestroy而clear,从而节约流量和内存,并且防止内 ...

  3. android亮屏、暗屏、解锁、关闭系统对话的监听事件

    protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentVie ...

  4. vue点击改变data_vue实现响应式原理即vue如何监听data的每个属性的变化

    记住两点 1.使用 Object.defineProprety实现响应式原理 2. data属性代理到vm(即是Vue实例)上 Object.defineProperty 是如何使用的? Object ...

  5. Android View的滚动事件的监听(如上下箭头随你的手指移动而变换方向)

  6. Android悬浮按钮锚点位置,Android 滑动定位+吸附悬停效果实现

    在前两篇文章中,分别介绍了tablayout+scrollview 和 tablayout+recyclerview 实现的滑动定位的功能,文章链接: Android 实现锚点定位 Android t ...

  7. 【Android 手势冲突】Colin带你彻底解决RecyclerView与ScrollView滑动冲突问题,并实现RecyclerView悬停导航栏(附demo哦)

    在新一期的需求中,产品要求我们做出和美团某个页面类似的功能,即一个页面包含在scrollView中,上面一个部分放置一些常用的广告banner.宫格tab等,下面放置一个RecyclerView用于展 ...

  8. Android中监听ScrollView滑动停止和滑动到底部

    1.监听ScrollView滑动停止: [java] view plaincopy /********************监听ScrollView滑动停止********************* ...

  9. 连续点击8次android版本,Android屡次点击事件

    android本次没有提供双击或者屡次点击事件,须要咱们本身实现.android 思想:使用数组记录点击时的系统时间,若是当前点击事件发生后点击了3次而且当前的系统时间和第一次点击事件发生的时间的差值 ...

  10. android让跟布局优先响应点击事件,andorid事件监听的五种方式

    一.Android中的事件处理方法 事件处理:响应用户UI动作,提高应用程序交互性 1.基于监听的事件处理机制 2.基于回调的事件处理机制 3.Handler消息处理 二.基于监听的事件处理机制详解 ...

最新文章

  1. 联想PC被华为反超,杨元庆“美梦”或将破碎,余承东:对手较弱
  2. 百万级分组大报表开发与呈现
  3. np.c_和np.r_用法
  4. centos开机优化脚本
  5. qlabel设置换行符无效_php 字符串中的\n换行符无效、不能换行的解决方法
  6. 用SmarterFox替换Internet Explorer的“加速器”
  7. leetcode486. 预测赢家(动态规划)
  8. hdu 6026 Deleting Edges(最短路计数)
  9. paip.哈米架构CAO.txt
  10. [转]Oracle_ProC编程
  11. Rabbitmq的三种方式
  12. c语言结构体tdl,计算机等级二级C笔试考前练习习题(21)
  13. SOCKS5 协议原理详解与应用场景分析
  14. 杨辉三角简单规律 2021-7-30
  15. 战矛在线Java_战矛在线职业选择攻略 最强职业推荐
  16. 论文发表-关于深度学习在问答系统和对话系统方面的应用研究-2018到2019年
  17. 转载:24岁了,做个精致的电子工程师
  18. IDEA太强悍了!java导出excel合并单元格边框设置
  19. win10系统显示打印机未连接到服务器,win10系统无法连接到打印机的解决方法
  20. postgresQL通过出生日期获取年龄

热门文章

  1. C# 构造函数base()实例演示
  2. MariaDB -- 数据类型
  3. Linux —— 常见指令及其英文全称
  4. 深入理解Flink ---- 系统内部消息传递的exactly once语义
  5. Codeforces 754A(搜索)
  6. 4种字符串匹配算法:有限自动机(中)
  7. redis 配置文件翻译
  8. 孤读Paper——《FCOS: Fully Convolutional One-Stage Object Detection》
  9. PDF文件能编辑吗,怎么删除PDF文档中的空白页
  10. 23种设计模式-备忘录模式