即时通讯与android的TextWatcher一起执行此操作:用户输入时,保存键入的内容,保存后,在Edittext中更改字符.例如,我有一个常量文本,例如“ hi im happy”,并且我在edittext用户中键入的所有内容都看到该文本正在编写(该字符串在用户键入时显示Tandemly)!但用户键入的主要文本存储在变量中.我在afterTextChanged内部使用此代码:

if(s.toString().charAt(s.length()-1) != 'a'){

//save inside freaktext variable(append)

freaktext=freaktext+s.toString().charAt(s.length()-1);

//change edittext value(what user see's)

txtfreak.setText(s.toString().substring(0, s.length()-1) + "a");

txtfreak.setSelection(txtfreak.getText().length());

}else{

freaktext=freaktext+"a";

}

我在这段代码中说,如果键入的字符不是“ a”,则将其保存在名为“ freaktext”的变量中,然后更改edittext值,并将“ a”字符放在edittext中字符串的末尾.但是如果用户键入“ a”,则将其保存为freaktext.

但我的问题是:当用户键入一个无“ a”字符时,一切正常,我的代码保存键入的字符,然后修改edittext值,但是当edittext值更改时,整个代码将再次运行,因为上次我更改了该代码并放置了“到它的“ a”,我的代码的第二部分(其他)运行,然后再次将“ a”保存到保存的字符串的末尾.实际上,当我输入“ q”时,我在保存的字符串中看到了“ qa”!我希望只是用户直接在键盘上键入“ a”,保存“ a”,而在其他情况下则不这样.我实际上我的else部分仅在用户直接按键盘上的“ a”键时运行.我该怎么做?请帮助我,这段代码浪费了我1天的时间

android textwatcher 延时,Java-防止两次在android的textwatcher中运行相关推荐

  1. Android 编程下 java.lang.NoClassDefFoundError: cn.jpush.android.api.JPushInterface 报错

    使用了极光推送的 jar 包项目在从 SVN 中检出后,如果不重新对 jar 包和 Bulid Path 进行配置就会抛出 java.lang.NoClassDefFoundError: cn.jpu ...

  2. Android mergeDebugResources'. Error: java.util.concurrent.ExecutionException: com.android.ide.comm

    Error:Execution failed for task ':GotSMSCode(自动获取验证码):mergeDebugResources'. > Error: java.util.co ...

  3. Java合并两个int数组合并_Java中如何把两个数组合并为一个

    在Java中,如何把两个String[]合并为一个? 看起来是一个很简单的问题.但是如何才能把代码写得高效简洁,却还是值得思考的.这里介绍四种方法,请参考选用. 一.apache-commons 这是 ...

  4. java复制两个对象报异常_Java中复制两个不同类的对象的属性

    Apache的开源包BeanUtils用来复制两个对象的属性,要使用这个Apache的开源包,要先去官网下载commons-beanutils-1.X.jar包,http://www.apache.o ...

  5. android应用资源可以分为两大类,Android 应用资源(一)

    Android 应用资源想必大家都很熟悉了,这里我只讲一些细小的容易忽视的一些东西: 一. 应用资源概述 1.Android的应用资源可以分为两类: (1)无法通过R资源反问的原生资源,保存在asse ...

  6. java判断两个字符串是否相等_JavaScript中判断两个字符串是否相等的方法

    先将用户的输入值全部转换为大写(或小写),然后再行比较: 大家可以先参考实例: var name = document.form1.txtUserName.value.toLowerCase(); i ...

  7. Java比较两个数相等的运算符_Java中的==符号与equals()的使用(测试两个变量是否相等)...

    Java 程序中测试两个变量是否相等有两种方式:一种是利用 == 运算符,另一种是利用equals()方法. 当使用 == 来判断两个变量是否相等时,如果两个变量是基本类型变量,且都是数值类型(不一定 ...

  8. android nullable jar,java – 导入NotNull或Nullable,Android Studio将无法编译

    当我为参数添加@NotNull或@Nullable注释Android Studio自动帮助我添加/lib/annotations.jar和导入 import org.jetbrains.annotat ...

  9. java交换两个变量的值_Java中交换两个整数变量的值

    需求 如下,我们定义了两个整数变量,并且分别进行了赋值,下面,我们需要实现的就是将x的值赋值给y,将y值赋值给x,实现x和y的值交换: int x = 100; int y = 200; 方法一:使用 ...

最新文章

  1. centos系统为php安装memcached扩展步骤
  2. C++中sizeof问题
  3. Android数据库高手秘籍(二):创建表和LitePal的基本用法
  4. uCOS-II任务建立示例
  5. php接收vue请求数据axios,详解vue axios用post提交的数据格式
  6. java 日期数组_Java数组
  7. maltab求解微分方程
  8. LSGANs : Least Squares GAN(最小二乘GAN)--解决标准GAN生成的图片质量不高以及训练过程不稳定问题
  9. 精品美剧小屏精致灰色风格苹果CMSv10主题
  10. Ubuntu 16.04 PXE+kickstart部署系统
  11. 对软件研发项目管理的深入探讨
  12. [Luogu] P4626 一道水题 II
  13. 通过定制控制在屏幕上显示图片
  14. linux系统日志读取,linux系统日志
  15. 2019年税收分类编码_您如何在2019年学习编码
  16. arduino mega针脚_Arduino MEGA中文数据手册
  17. 方维分享增加列表页图片alt title属性,提高转化率
  18. 红罐王老吉品牌定位战略
  19. C++加载lib和dll的方法
  20. LeetCode解析------111. 二叉树的最小深度-深度优先搜索

热门文章

  1. 复盘王者荣耀手游开发全过程,Unity引擎使用帧同步放弃状态同步
  2. C++防止文件重复包含
  3. solaris 10安装mysql5
  4. 针对firefox ie6 ie7的css样式
  5. 8 .5 .5 创建操作员
  6. PC市场连续5年滑坡,但对惠普戴尔来说是好消息
  7. 思科交换机PXE响应巨慢,甚至无响应问题
  8. 90. Subsets II 1
  9. 玩转VIM编辑器-vim附加特性
  10. 使用JQuery实现延迟加载UserControl