`
20386053
  • 浏览: 432967 次
文章分类
社区版块
存档分类
最新评论

android onClickListener onLongClickListener事件冲突

 
阅读更多
<!-- 最右边删除按钮 -->
  <RelativeLayout
  	android:id="@+id/rly_cancel_app"
  	android:layout_width="wrap_content"
  	android:layout_height="wrap_content"
  	android:layout_alignParentRight="true"
  	android:layout_marginTop="10dip"
  	android:layout_marginLeft="5dip" >
  	<ImageView
  		android:id="@+id/iv_cancel_app"
  		android:layout_width="wrap_content"
  		android:layout_height="wrap_content" 
  		android:layout_alignParentRight="true"
  		android:layout_marginRight="8dip"/>
  	<TextView
  		android:id="@+id/tv_cancel_info"
  		android:layout_width="wrap_content"
  		android:layout_height="wrap_content"
  		android:text="@string/exitClientDialogCancel"
  		android:layout_below="@id/iv_cancel_app" 
  		android:layout_alignParentRight="true"
  		android:layout_marginRight="5dip"/>	
  </RelativeLayout>


今天做了一个小示例,给父组件设置setOnLongClickListener监听,给其中的子组件设置setOnClickListener监听,

碰到了问题就是子组件监听不到了长按键监听,而子组件可以.

在网上找了好多类似的帖子, 基本上都是说由于“焦点被抢夺”的原因, onClickListener onLongClickListener事件冲突的问题,

但做了好多修改测试,也单独的进行焦点设置,setFocusable, requestFocus, setFocusableInTouchMode..... 但效果都不理想,

最终经过多次测试发现时layout布局文件的问题, 就是上面红色标注的tag, 直接删掉就好了,目前还不具体知道什么原因,囧。

同时,还需要注意的是在接收了onLongClick事件后,该返回值要返回为true, 这一点也很重要。

再一个就是在FrameLayout层中,有时候层的上下级关系也会影响到事件的响应,在遇到问题时,调整一下层的顺序有可能会有进展,

只少我是这样解决的O(∩_∩)O~

分享到:
评论

相关推荐

    Android OnClickListener按钮单击事件监听器用法范例.rar

    按钮单击事件一例,Android环境下,单击按钮后,改变 按钮背景颜色,通过这个功能来练习单击事件的监听器用法:  super.onCreate(savedInstanceState);  setContentView(R.layout.main);//设置当前屏幕  Button ...

    Android OnClickListener监听接口用法范例.rar

    Android OnClickListener监听接口用法范例,基础级的例子,  Button button = (Button) findViewById(R.id.Button01);//获取屏幕中的按钮控件对象  button.setOnClickListener(//为按钮对象添加OnClickListener...

    OnClickListener 的两种实现方法

    本文通过button的click展示了onClickListener的两种实现方法。是理解onClickListener不错的参考源码例子。

    android悬浮框的onTouch和onClick事件同时存在

    解决了android悬浮框的onTouch和onClick事件可以同存的问题。

    Android中button实现onclicklistener事件的两种方式

    本文介绍下Android中button实现onclicklistener事件的两种方法,感兴趣的朋友可以参考下

    各种Android Dialog创建及其监听事件实现

    查阅JavaDoc API文档 读者可根据JavaDoc API文档来了解如何实现单击item选项监听事件 如下列出的setItems 方法第2个参数易知只要为第2个参数提供OnClickListener实例即可实现监听事件 读者可通过这种方式触类旁通...

    Android下hook点击事件的示例

    主要介绍了Android下hook点击事件的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Android实验5-事件处理答案.doc

    //定义一个单击事件的监听器(内部类) class MyClickListener implements OnClickListener{ public void onClick(View v) { EditText txt = (EditText)findViewById(R.id.edittext); txt.setText("内部类"); } } //...

    详谈Android中onTouch与onClick事件的关系(必看)

    这几天遇到点关于Android的触摸事件相关的,还跟onClick有关,暂且记下: LinearLayout分别设置了onTouchListener,onClickListener,onLongClickListener及onTouchEvent回调 1、在屏幕上触摸之后基本的执行流程如下...

    完全理解android事件分发机制

    **onClick():**这个函数是是View提供给我们的OnClickListener这个接口中的函数,在这里可以自定义对点击事件的处理逻辑。会在onTouchEvent()中进行调用。 **onTouch():**这个函数是View提供给我们的...

    android全局监控click事件的四种方式(小结)

    本文主要给大家分享如何在全局上去监听 click 点击事件,并做些通用处理或是拦截。...public abstract class CustClickListener implements View.OnClickListener{ @Override public void onClick(Vie

    android-query 开发包

    public class Common implements Comparator, Runnable, OnClickListener, OnLongClickListener, OnItemClickListener, OnScrollListener, OnItemSelectedListener, TextWatcher //仅供内部使用。一个共享的监听器类...

    Android Studio中Edittext监听回车事件,捕获手机和扫描枪的Enter键的点击事件

    Android Studio监听回车事件,捕获手机和扫描枪的Enter键的点击事件 package com.example.mynewtest; import android.content.Context; import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity;...

    Android事件分发与消费

    之前写过一篇Android事件分发机制详解,感觉比较乱,这里再总结一下。网上已经有很多前辈分析过源码,大家可以参考,我这里尽量不做过多的源码分析,仅仅从流程上分析。事件分发和消费我们主要涉及到以下三个方法:...

    android的Tag标签的实现

    //标签切换事件处理,setOnTabChangedListener mTabHost.setOnTabChangedListener(new OnTabChangeListener() { // TODO Auto-generated method stub @Override public void onTabChanged(String tabId)...

    Android编程基础之简单Button事件响应综合提示控件Toast应用示例

    Button按钮所触发的事件处理,我们称之为Event Handle,只不过在Android当中,按钮事件是由系统的Button.OnClickListener所控制,熟悉Java程序设计的读者对OnXxxListener应该不陌生.以下的Demo,我们将实现当点击Button时...

    页面跳转OnClickListener

    页面跳转OnClickListener,描述页面跳转的5种方法

    Android综合实验(高校本科初学者实验)

    移动开发技术Android(安卓)综合项目: ①各个基本组件、高级组件的使用。 ②对话框的应用(AlertDialog、DatePickerDialog、TimePickerDialog)。 ③Intent实现页面间的跳转。 ④Sqlite数据库的创建以及增删改查。

Global site tag (gtag.js) - Google Analytics