setonclicklistener和setontouchListener相关问题

如果我只重写ontouch方法里的action-down情况,那和点击监听事件有什么区别

0

4个回答

关于这个你可以了解一下事件分发机制,通过对源码的理解,就可以明白你的问题了

0

源码中点击事件就是在ontouchevent的up事件中中通过调用performClick()执行的·

0
q649381130
卜可 回复qq_34184412: 没事
大约 3 年之前 回复
qq_34184412
小菜_包子 最佳答案点错了,能不能换啊……应该给你的
大约 3 年之前 回复
qq_34184412
小菜_包子 感谢
大约 3 年之前 回复

这问题百度都可以搜出来很多答案了,可以自己先去查找资料。

0

网上重点了解下 Android的事件分发机制 对开发者来说是很重要的

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
android RecyclerView增加单击和双击,解决setOnTouchListener无效问题
产品的脑洞又双叒叕再一次大开,说到一个列表需要在原来上下滑动的基础上支持单击,双击,并且单击区分点击左侧和点击右侧,并且实现不同的功能(ps:幸好item里面没有点击事件,不然可能有点抓狂…)如下图: 列表用的RecyclerView,对于需求,只能给RecycerView设置setOnTouchListener监听,而点击和双击实现呢,肯定想到了用GestureDetector来实现,至于Ge...
AndroidStudio2.0 写setOnclickListener的时候警告,需要判断view是否为空,大家觉得有必要吗
是这样的。这两天刚在家里下载了2.0 趁着新学习Android的热血 重新敲了一些基础代码 遇到了一个问题 就是会警告。。。说可能产生空指针 于是加了一个判断(注释)。警告就消除了 想问下大家有必要吗。。
setOnClickListener与setOnTouchListener的区别?
setOnClickListener与setOnTouchListener区别是什么,我一直弄不清楚。rnrn多谢指点
setOnClickListener报空指针异常问题汇总
有关设置控件监听器时,报空指针异常问题汇总
取消editText.setOnTouchListener()的监听状态
取消editText.setOnTouchListener()的监听状态函数调用   editText.setEnabled(false)  函数; editText.setEnabled(true)  恢复函数的监听状态; 取消editText.setOnClickListener()的监听状态函数调用   editText.setClickable()函数。 view.getVisib...
如何正确的给ViewGroup设置OnClickListener
在Android的日常开发中,我们总会碰到要给某个LinearLayout、RelativeLayout等设置OnClickListener,以便达到点击其子view能够触发设置的OnClickListener。但是当我们点击子view的时候,对应的Listener并没有触发到,这是为什么呢,接下来我们将结合例子从源码角度去解释它。 实例  我们从一个简单的需求出发:有一个Button和一个Text
多个ImageView 的 setOnTouchListener或setOnClickListener 不起作用
布局为:rnrnrn rn rn rn rn rn rn rn rnrnrn程序为:rnpublic void onCreate(Bundle savedInstanceState) rn super.onCreate(savedInstanceState);rn setContentView(R.layout.point); rn img_main = (ImageView) findViewById(R.id.imgmain);rn img_main.setImageResource(R.drawable.point_main);rn rn img_main.setOnClickListener(this);rn img_setup = (ImageView) findViewById(R.id.setup);rn img_back = (ImageView) findViewById(R.id.back);rn img_setup.setVisibility(View.INVISIBLE);rn //img_main.setOnClickListener(this);rn img_back.setOnClickListener(this);rn rn img_point1 = (ImageView) findViewById(R.id.point1);rn img_point2 = (ImageView) findViewById(R.id.point2);rn img_point3 = (ImageView) findViewById(R.id.point3);rn rn img_point1.setOnTouchListener(new OnTouchListener() rn public boolean onTouch(View v, MotionEvent event) rn // TODO Auto-generated method stubrn //Toast.makeText(Point.this, "point_do_new1", Toast.LENGTH_SHORT).show(); rn img_main.setImageResource(R.drawable.point_do_new1); rn IsClick=1;rn return false;rn );rn img_point2.setOnTouchListener(new OnTouchListener() rn public boolean onTouch(View v, MotionEvent event) rn // TODO Auto-generated method stubrn //Toast.makeText(Point.this, "point_do_new1", Toast.LENGTH_SHORT).show(); rn img_main.setImageResource(R.drawable.point_do_new2); rn IsClick=1;rn return false;rn );rn img_point3.setOnTouchListener(new OnTouchListener() rn public boolean onTouch(View v, MotionEvent event) rn // TODO Auto-generated method stubrn //Toast.makeText(Point.this, "point_do_new1", Toast.LENGTH_SHORT).show(); rn img_main.setImageResource(R.drawable.point_play_new1); rn IsClick=1;rn return false;rn );rn rn rnpublic void onClick(View v) rn // TODO Auto-generated method stubrn if (v == img_back) rn if (IsClick==0)rn rn Intent intent = new Intent();// 得到一个意图的实例rn intent.setClass(this, ViewPlay.class);// 设置当前activity以及将要操作的类rn this.setResult(RESULT_OK, intent);rn this.finish();rn rn elsern rn img_main.setImageResource(R.drawable.point_main); rn IsClick=0;rn rn rn rn rn rn public boolean onTouch(View v, MotionEvent event) rn // TODO Auto-generated method stubrn return false;rn rnrnrn问题就是 img_point1、img_point2、img_point3的onTouch 无论点击 哪个 都是最后一个起作用 也就是说 哪段代码 写在后面 就是哪段代码起作用rn目前起作用的就是 img_point3.setOnTouchListener(new OnTouchListener() rn public boolean onTouch(View v, MotionEvent event) rn // TODO Auto-generated method stubrn //Toast.makeText(Point.this, "point_do_new1", Toast.LENGTH_SHORT).show(); rn img_main.setImageResource(R.drawable.point_play_new1); rn IsClick=1;rn return false;rn );rnrnimg_point1、img_point2 事件 好像根本没有触发 有人知道是怎么回事吗?rn
Android中view的onTouch&onClick事件分发机制详解
当view设置了setOnClickListener或setOnTouchListener之后,onClick或onTouch方法才会被调用,如下 mTextView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) {
重大发现:强大的setOnClickListener!
比 android:onClick=”go2”要强大! 比如在linearlayout中设置可点击,go2失效,setOnClickListener完全没有问题,以后就用它了!!代码如下 xml <LinearLayout android:clickable="true" android:onClick="go2" and
浅析Android的setOnTouchListener的返回值是false和true的区别
Android的setOnTouchListener的返回值是false和true的区别
防止多次响应的onClickListener
对控件设置点击事件的时候,控件总是能对所有的点击事件进行响应,短时间内响应多次个人觉得挺不合理的 public abstract class NoDoubleClickListener implements View.OnClickListener { private long mMillis; private int mViewID; // default click ...
说说 setOnClickListener 的几种方式 与 向上向下转型
因为不是计算机专业,当时入门安卓的时候,看的 Mars 的视频学起来的,挺多知识很迷糊。 后面也是开始做了些项目才慢慢熟悉起来。 最近花了一些时间,把做的第一个 app 重构了下,以前的代码不能直视。 当然菜不要紧,要是菜还不勤快,那肯定就没法了。 说到初见安卓,肯定会用到一些交互控件,最常用的方式之一就是 Button 触发 OnClickListener。 当时因为 Java 懂的不太多,然后...
控件的手势事件OnTouchListener()右滑执行,左滑取消
view为你想要设置的控件,//TODO注解处写你左滑右滑的逻辑view.setOnTouchListener(new View.OnTouchListener() { float a = 0; float b = 0; @Override public boolean onTouch(View v, MotionEvent e) { switch...
VideoView的事件监听
同时监听VideoView的点击双击和滑动事件,通过对VideoView的OnTouchListener设置进行监听,首先实例化一个手势识别器,返回它的onTouchEvent。 在设置GestureDetector的时候,如果单纯的通过设置OnGestureListener,在onDown的返回值为true的时候可以响应单击长摁和滑动事件,为false的时候只会响应长摁事件;如果想要监听双击事件,
Android 触屏setOnTouchListener实现图片缩放、移动、绘制和添加水印(源代码)
该资源主要是参考博文 http://blog.csdn.net/eastmount/article/details/40536247,主要是Android触屏setOnTouchListener实现图片缩放、移动、绘制和添加水印,有四个按钮.点击“打开”从相册中加载一张图片,点击“缩放”可以触摸缩放移动图片,点击“文字”可以添加水印,点击“绘制”可以实现在图片上绘制文字图案等功能。免费资源,仅供大家学习参考,希望对大家有所帮助,尤其是初学者。By:Eastmount
使用OnTouchListener监听滑动事件
OnTouchListener可以实现简单的滑动事件监听。 实现思路: 当按下手指的时候记录手指的坐标作为起始坐标,当手指抬起的时候把当前手指坐标与起始坐标对比,由此可以判断手指滑动的方向。 import android.view.MotionEvent; import android.view.View; import android.view.View.OnTouchListen
使用OnTouchListener实现屏蔽子控件的焦点响应
有时候要求希望父控件截获所有焦点,而不让子控件获得焦点,点击子控件要像直接点击到父控件一样。 琢磨过程,得到了下面三种方法,如果有误请指正。 方法一: 可以通过android:descendantFocusability 属性设置来实现,但缺点是,无法选择项地让部分子控件可以获得焦点,响应单击。 方法二: 另外一种方法是通过选择项对子控件setFocusable
回调机制的实现,即细看setOnClickListener怎么运行
Android中常见的设置某某控件(模块)的监听。形如setOnClickListener() 、 OnItemClickListener()等等。这其实就是一个回调机制的实现。 当要自己实现一个 类似于Listener的东西 or 回调 该如何操作呢?
基于android开发的GPS定位
GPS定位 gps_tip = (TextView) findViewById(R.id.gps_tip); findViewById(R.id.do_gps).setOnClickListener(GpsActivity.this); findViewById(R.id.do_apn).setOnClickListener(GpsActivity.this); findViewById(R.id.do_wifi).setOnClickListener(GpsActivity.this);
View对象控件调用setOnclickListener空指针异常
1、报错代码 2、LogCat报错提示 3、错误分析        对UI控件进行操作是在类的方法中进行的,LogCat日志里显示是在调用setOnClickListener方法时报错,检查了布局中id是否对应,属性是否有错误,查看了R文件相应的按钮地址值是否为空,结果一切正常。然后对view对象打印System.out.println("view:"+view);其结果并不为空
SetOnClickListener点击两次才响应
SetOnClickListener点击两次才响应
android 中怎么很好的解决setOnClickListener和setOnTouchListener冲突
在android应用中我做了一个悬浮框,布局界面就一个button,我怎么区分我是做了这个按钮的setOnClickListener还是setOnTouchListener事件,setOnTouchListener是使这个按钮移动,setOnClickListener是点击这个按钮触发的事件,但往往只有触发一个事情,怎样才能很好的解决这个问题,请教高手,贴几行代码?
Android小坑-OnTouchListener()事件监听长按后抬手MotionEvent.ACTION_MOVE不触发问题
场景: 控件使用OnTouchListener()事件监听,正常的流程是,按下瞬间屏幕捕捉到触摸,触发MotionEvent.ACTION_DOWN事件,滑动屏幕会触发MotionEvent.ACTION_MOVE事件,手指离开屏幕会触发MotionEvent.ACTION_UP事件,这是我们所想要的事件触发流程,但是这不是绝对的. 举例: 假如我们的步骤使:按下-长按-松手,出现MotionEv...
setOnClickListener(this)是什么意思?
setOnClickListener代表设置事件处理的监听器,this代表就是所在的类,implements OnClickListener就代表实现监听器的接口,而public void onClick(View v) 函数就代表事件的处理函数,就是你点击startButton 按钮就会进入到onClick函数里面 …
在videoview中增加点击监听事件
逻辑要求:点击屏幕任意空白处,暂停按钮出现,点击暂停按钮,视频暂停并出现播放按钮,同时调起隐藏的下拉框。 <ImageView android:id="@+id/pause_btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_c
ListView中含有Button时setOnclickListener应写在Adapter的什么地方
博客ListView中含有Button时setOnclickListener应写在Adapter的什么地方的代码http://blog.csdn.net/yangzl2008/article/details/7863938
Android重写OnTouchListener实现双击事件的监听
今天要在视频上加入双击暂停和播放,但是用人家的SDK视频控件都封装到SDK里面了,所以重写一个OnTouchListener去实现监听了。 重写的监听类:public class OnDoubleClickListener implements View.OnTouchListener { private final String TAG = this.getClass().getSimp
已解决:HorizontalScrollView的setScrollViewListener方法不兼容低版本的问题
已解决:HorizontalScrollView的setScrollViewListener方法不兼容低版本的问题
Android 中多次设置 OnClickListener 只执行一次吗?
问题对于 Android 初学者,可能对这个问题会比较疑惑: 对于一个 View,比如 Button,如果为其设置多次点击监听 OnClickListener 回调方法,同时还在布局中设置了 onClick 属性,并且也实现了点击回调方法,那么问题来了,哪些回调方法会执行呢?又是以怎样的顺序执行呢?请跟随脚步和我一探究竟…实验现象我们先来做个实验,观察一下实验现象。 首先在布局文件中声明一个
setOnTouchListener监听器问题
代码如下:rn[code=java]private void initGameView() rn setOnTouchListener(new View.OnTouchListener() rn private float startX, startY, offsetX, offsetY;rnrn @Overridern public boolean onTouch(View v, MotionEvent event) rn switch (event.getAction()) rn case MotionEvent.ACTION_DOWN:rn startX = event.getX();rn startY = event.getY();rn break;rn case MotionEvent.ACTION_UP:rn offsetX = event.getX() - startX;rn offsetY = event.getY() - startY;rnrn if (Math.abs(offsetX) > Math.abs(offsetY)) rn if (offsetX < -5) rn System.out.println("left");rn else if (offsetX > 5) rn System.out.println("right");rn rn else rn if (offsetY < -5) rn System.out.println("up");rn else if (offsetY > 5) rn System.out.println("down");rn rn rn rn rn rn break;rn rn return true;rnrn rnrn [/code]rn左右的时候日志里面有显示,上下的时候不显示,这是为何?求解。。
OnClickListener导包冲突问题及其解决方案
当我在同一个类中写了button的click监听事件后,当我在此类中同时想要实现alterDialog中的setPositiveButton中的click监听事件时,却发现系统不会自动导入 android.content.DialogInterface.OnClickListener这个包,然后编译环境报错,让我重写view.onclick()中的方法。 于是我就手工将我需要的包的导入
OnClickListener是匿名内部类为什么不导致android内存泄漏
写内存泄漏的文章很多,再把别人的抄一遍也没意思。 先总结一下,再说OnClickListener是匿名内部类为什么不导致android内存泄漏的问题。 MemoryLeak原因就是,生命周期长的类实例(A)所引用的生命周期短的类(B)实例,在B已经结束生命周期了需要释放时没有释放还被A引用着,导致A不能被GC就出现了内存泄漏。根被原因就是很老套经典的这句话:没有被释放。 总结起来无非就是几大...
Android ScrollView和OnTouch冲突解决(最新)
Android ScrollView和OnTouch冲突解决(最新)好了,思想+代码。看了好多别人写的解决方法,自定义ScrollView代码如下:package com.aierjun.woxiangwoxiang.widget;import android.content.Context; import android.util.AttributeSet; import android.view
onTouch返回true和false的区别,如何解决onTouch和onClick冲突
在开发中,我们会遇到某个图标可拖动的需求,我们会同时使用到onClick和onTouch事件,这个时候onClick和onTouch会发生冲突。 1、我们先比较他们onClick和onTouch 的用法,从下面代码可以发现,onTouch有返回,而onClick无返回。这个时候你会好奇,返回true和false有什么区别?下面来分析有什么不同和区别。
setOnTouchListener 没有反应
[img=https://img-bbs.csdn.net/upload/201507/29/1438158594_117590.png][/img]
安卓问题:按钮的setOnClickListener
在我的安卓应用里面有报错:rnrn The method setOnClickListener(View.OnClickListener) in the type View is not applicable for the arguments (MainActivity)rnrn我的代码很简单,找不到错误在那儿?谢谢好心人帮忙指点:rnrn public class MainActivity extends Activity rn rn @Overridern public void onCreate(Bundle savedInstanceState) rn super.onCreate(savedInstanceState);rn setContentView(R.layout.activity_myActivity);rn rn View continue = findViewById(R.id.ContinueBtn);rn continue.setOnClickListener(this);rn rn rn rnrn
android sdk setOnClickListener()问题
我在类文件里是这样写的。rnpublic class MainActivity extends Activity rnrn rn public Button submit;rn public TextView tv1, tv2, tv3;rn public int num1, num2;rn rn @Overridern public void onCreate(Bundle savedInstanceState) rn super.onCreate(savedInstanceState);rn setContentView(R.layout.activity_main);rn rn //获取viewrn submit = (Button) findViewById(R.id.submit); rn tv1 = (TextView) findViewById(R.id.tv1);rn tv2 = (TextView) findViewById(R.id.tv2);rn tv3 = (TextView) findViewById(R.id.tv3);rn rn //设置监听器rn OnClickListener btnl = new OnClickListener()rnrn //覆盖OnClic()方法rn public void onClick(DialogInterface arg0, int arg1) rn // TODO Auto-generated method stubrn rn //获取textview的值rn num1 = Integer.parseInt(tv1.getText().toString());rn num2 = Integer.parseInt(tv2.getText().toString());rn rn //显示num1和num2的和rn tv3.setText(String.valueOf(num1 + num2));rn rn rn rn ;rn rn //将监听器和被监听对象相关联rn [color=#FF0000]submit.setOnClickListener((android.view.View.OnClickListener) btnl);[/color] rnrn红色的这一行是系统提示自动的强制转换,如果没有强制转换就会报错,这是什么原因啊。求解。谢谢
ListView同时响应itemclick事件和item控件的onClickListener时间的解决办法
listview可以根据自己的需求,重写baseadapter ,实现自己的布局及数据,但是当我们在自己的布局中加入了button或者ImageButton,还有其他比如checkbox,radiobutton等控件时,发现listview不在响应onitemclick事件,这是因为buton等控件优先获得focus,也就是说listview的item根本就获取不到focus,所以导致onitem
使用RadioButton需要注意的几个地方
注意点一 如图,在RadioGroup中放置两个单选按钮a和b,给RadioGroup设置监听 rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGr...
EditText的点击事件首次不触发
        EditText的 setOnClickListener  事件,点击首次不触发原因,先获取焦点(未获取焦点时候),再次点击触发setOnClickListener  事件。    解决首次点击处理业务问题:监听EditText的setOnTouchListener方法,在触摸事件的MotionEvent.ACTION_UP回调中作出相应的操作即可。...