Android的EditText通过setOnEditorActionListener给文本编辑框设置监听事件,但是在其处理方法onEditorAction中的逻辑在每次回车后都触发了两次,这是因为在键盘回车的ACTION_UP和ACTION_DOWN时都会触发这个方法。下面的方法可以防止执行两次。
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {

        if (actionId == EditorInfo.IME_ACTION_SEND ||
(event != null && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
switch (event.getAction()) {
case KeyEvent.ACTION_UP:
//do it
return true;
default:
return true;
}
}
return false;
}

Android EditText的onEditorAction监听事件防止执行两次的更多相关文章

  1. EditText中onEditorAction监听事件执行两次

    Android的EditText通过setOnEditorActionListener给文本编辑框设置监听事件,但是在其处理方法onEditorAction中的逻辑在每次回车后都触发了两次, 原来是在 ...

  2. Android EditText截获与监听输入事件

      Android EditText截获与监听输入事件共有2种方法: 1.第一种方法:使用setOnKeyListener(),不过这种方式只能监听硬键盘事件. edittext.setOnKeyLi ...

  3. Android 给按钮添加监听事件

    在安卓开发中,如果要给一个按钮添加监听事件的话,有以下三种实现方式 1.方式一 public class MainActivity extends ActionBarActivity { @Overr ...

  4. Android EditText的输入监听,输入字符的动态获取

    http://itindex.net/detail/38974-android-edittext-%E7%9B%91%E5%90%AC 有时候我们可能会用到时时的监听EditText输入字符的时时监听 ...

  5. Android属性动画的监听事件

    整体很简单,直接上代码吧.activity_main.xml: <?xml version="1.0" encoding="utf-8"?> < ...

  6. EditText 详细信息(监听事件时,输入改变、透明背景、提示改变文字颜色、密文输入)

    1.对EditText输入监视.给EditText 捆绑 addTextChangedListener 监控事件 能够. 2.EditText输入内容.密文显示: android:password=& ...

  7. 备忘-Android ViewPager 子页监听事件

    @Override public Object instantiateItem(View arg0, int arg1) { ((ViewPager) arg0).addView(mListViews ...

  8. Android输入法 监听事件

    登录界面有一个输入用户名和密码的编辑框: private EditText et_userName;// 账户 private EditText et_password;// 密码 布局文件如下: & ...

  9. Android——监听事件总结

    各种监听事件 1.按钮 Button(1)点击监听 btn_1.setOnClickListener(new View.OnClickListener() { (2)长按监听 btn_1.setOnL ...

  10. Android中Button的五种监听事件

    简单聊一下Android中Button的五种监听事件: 1.在布局文件中为button添加onClick属性,Activity实现其方法2.匿名内部类作为事件监听器类3.内部类作为监听器4.Activ ...

随机推荐

  1. nginx通过参数代理到其他站点

    http { include mime.types; default_type application/octet-stream; resolver 8.8.8.8; ##Nginx0.6.18以后的 ...

  2. moco的使用方法

    需要模拟第三方接口测试并调用,找了很多mock工具,在git上找到了moco,学习一番,分享一下. 一.下载moco,moco地址 下载后,是一个jar包. 二.配置moco的配置文件 (1)在jar ...

  3. ASP.NET Core实现自定义中间件的三种方式

    一.什么是中间件 请求处理管道由一系列中间件组件组成.每个组件在 HttpContext 上执行操作,调用管道中的下一个中间件或终止请求. 详情请看另外一篇文章:白话管道中间件 下图是中间件的管道模型 ...

  4. Flutter tab切换保持页面状态的两种方法

    当通过底部tabBar将页面在"首页"和"分类"之间进行切换的时候,每一次进入页面的时候该页面的数据都会重新加载.那么如何让页面保持原来的状态,而不是每次都要重 ...

  5. pl/sql导出表结构的方法步骤

    转载:pl/sql怎么导出表结构-pl/sql导出表结构的方法步骤-下载吧 (xiazaiba.com) PL/SQL Developer是一个专为Oracle数据库开发存储程序单元的集成开发环境,用 ...

  6. android修改frameework与service,vendor分区需要替换的文件

    1. 修改framework代码 需要将framework.jar包提供给android studio使用,并替换车机内文件(两种framework.jar不是同一文件,一个是生成文件一个是安卓目录文 ...

  7. 安装kubernetes dashboard以及用户授权

    kubernetes 版本v1.25.3 1.安装 版本查看:https://github.com/kubernetes/dashboard/releases kubectl apply -f htt ...

  8. [转并修改]C#编程中跨线程访问控件

    C#编程中跨线程访问控件 一.简述 二.Winforms中跨线程访问控件 三.WPF中跨线程访问控件 参考文档 一.简述 C#中不允许跨线程直接访问界面控件,即一个线程中如主线程创建的控件不允许被其他 ...

  9. EMQX Cloud Serverless 正式上线:三秒部署、按量计费的 MQTT Serverless 云服务

    近日,全球领先的开源物联网数据基础设施软件供应商 EMQ 正式发布了 MQTT Serverless 云服务 -- EMQX Cloud Serverless 的 Beta 版本,开创性地采用弹性多租 ...

  10. mybatis_01 初运行

    maven坐标 <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</ ...