位置: 编程技术 - 正文
推荐整理分享EditText 点击事件小问题,希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
最近在工作的时候遇到一个小小的磕绊,给EditText添加点击事件的时候,需要对控件点击两次,才能触发自定义的 OnClickListener,这是怎么回事?
找了下谷娘才知道,EditText第一次点击的时候,会先获得屏幕的焦点,将首次TouchEvent消费掉,并不会触发自定义的 onClick 监听。
这样的话最简单直接的办法就是,再为 EditText 加一个 onFocusChangeListener ,当获取到焦点的时候,执行自定义的逻辑。另外,如果加了FocusChange就删掉OnClick的监听的话,在具有焦点的情况下继续点击将不会执行自定义逻辑。
后来看到一些说法,实际上为EditText添加OnClick监听是挺不科学的,原因是EditText作为一个输入控件,用户使用控件的过程中有可能因为输入错误等原因,对控件进行点击交互。那么在编写这段代码的时候,有可能就需要加入许多对用户行为的判断以及过滤,这样写出来的代码并不良好,也容易出错。
办法也许在UI上面,只是需要一个看起来像 EditText 的控件,并不需要EditText内置的交互逻辑。这种情况其实可以用一个TextView将其样式修改成EditText的样子,以及这时候如果需要自定义逻辑,只要一个点击监听就可以了。
也可以自定义背景以及文本样式——
SBVLC: 一种安全的基于二维码的可见光通信系统 SBVLC:Securebarcode-basedvisiblelightcommunicationforsmartphones,TMC(IEEETransactionsonMobileComputing),年3月[1
年5-6月关于Android用户隐私保护的3篇顶级论文【.5-.6】 1.土耳其AbantIzzetBaysal大学和Gazi大学的研究人员针对现有Android权限管理无法动态调整、用户难以理解权限意义等问题,提出了一种基于权限的Android恶意
使用Intent获取系统联系人 跳转Intentintent=newIntent(Intent.ACTION_PICK,ContactsContract.Contacts.CONTENT_URI);intent.setType(Phone.CONTENT_TYPE);this.startActivityForResult(intent,);获取联系人protectedvoidonActivi
标签: EditText 点击事件小问题
本文链接地址:https://www.jiuchutong.com/biancheng/384308.html 转载请保留说明!友情链接: 武汉网站建设