android textwatcher 延时,Java-防止两次在android的textwatcher中运行
即时通讯与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中运行相关推荐
- Android 编程下 java.lang.NoClassDefFoundError: cn.jpush.android.api.JPushInterface 报错
使用了极光推送的 jar 包项目在从 SVN 中检出后,如果不重新对 jar 包和 Bulid Path 进行配置就会抛出 java.lang.NoClassDefFoundError: cn.jpu ...
- Android mergeDebugResources'. Error: java.util.concurrent.ExecutionException: com.android.ide.comm
Error:Execution failed for task ':GotSMSCode(自动获取验证码):mergeDebugResources'. > Error: java.util.co ...
- Java合并两个int数组合并_Java中如何把两个数组合并为一个
在Java中,如何把两个String[]合并为一个? 看起来是一个很简单的问题.但是如何才能把代码写得高效简洁,却还是值得思考的.这里介绍四种方法,请参考选用. 一.apache-commons 这是 ...
- java复制两个对象报异常_Java中复制两个不同类的对象的属性
Apache的开源包BeanUtils用来复制两个对象的属性,要使用这个Apache的开源包,要先去官网下载commons-beanutils-1.X.jar包,http://www.apache.o ...
- android应用资源可以分为两大类,Android 应用资源(一)
Android 应用资源想必大家都很熟悉了,这里我只讲一些细小的容易忽视的一些东西: 一. 应用资源概述 1.Android的应用资源可以分为两类: (1)无法通过R资源反问的原生资源,保存在asse ...
- java判断两个字符串是否相等_JavaScript中判断两个字符串是否相等的方法
先将用户的输入值全部转换为大写(或小写),然后再行比较: 大家可以先参考实例: var name = document.form1.txtUserName.value.toLowerCase(); i ...
- Java比较两个数相等的运算符_Java中的==符号与equals()的使用(测试两个变量是否相等)...
Java 程序中测试两个变量是否相等有两种方式:一种是利用 == 运算符,另一种是利用equals()方法. 当使用 == 来判断两个变量是否相等时,如果两个变量是基本类型变量,且都是数值类型(不一定 ...
- android nullable jar,java – 导入NotNull或Nullable,Android Studio将无法编译
当我为参数添加@NotNull或@Nullable注释Android Studio自动帮助我添加/lib/annotations.jar和导入 import org.jetbrains.annotat ...
- java交换两个变量的值_Java中交换两个整数变量的值
需求 如下,我们定义了两个整数变量,并且分别进行了赋值,下面,我们需要实现的就是将x的值赋值给y,将y值赋值给x,实现x和y的值交换: int x = 100; int y = 200; 方法一:使用 ...
最新文章
- centos系统为php安装memcached扩展步骤
- C++中sizeof问题
- Android数据库高手秘籍(二):创建表和LitePal的基本用法
- uCOS-II任务建立示例
- php接收vue请求数据axios,详解vue axios用post提交的数据格式
- java 日期数组_Java数组
- maltab求解微分方程
- LSGANs : Least Squares GAN(最小二乘GAN)--解决标准GAN生成的图片质量不高以及训练过程不稳定问题
- 精品美剧小屏精致灰色风格苹果CMSv10主题
- Ubuntu 16.04 PXE+kickstart部署系统
- 对软件研发项目管理的深入探讨
- [Luogu] P4626 一道水题 II
- 通过定制控制在屏幕上显示图片
- linux系统日志读取,linux系统日志
- 2019年税收分类编码_您如何在2019年学习编码
- arduino mega针脚_Arduino MEGA中文数据手册
- 方维分享增加列表页图片alt title属性,提高转化率
- 红罐王老吉品牌定位战略
- C++加载lib和dll的方法
- LeetCode解析------111. 二叉树的最小深度-深度优先搜索