当前位置: 首页 > news >正文

企业备案网站服务内容展示网站模板下载

企业备案网站服务内容,展示网站模板下载,网站的服务器和空间,知乎wordpressandroid获取EditText内容,TextWatcher按条件触发 背景:解决方案:效果: 背景: 最近在尝试用原生安卓实现仿element-ui表单校验功能,其中涉及到EditText组件内容的动态校验,初步实现功能后&#…

android获取EditText内容,TextWatcher按条件触发

    • 背景:
    • 解决方案:
    • 效果:

背景:

最近在尝试用原生安卓实现仿element-ui表单校验功能,其中涉及到EditText组件内容的动态校验,初步实现功能后,发现重置按钮逻辑异常:
请添加图片描述理想情况下,重置按钮触发后,会将所有内容清空,不会触发校验逻辑,观察当前重置逻辑(此处以活动名称为例):

	private EditText activityName;private void handleResetEvent() {// 点击重置按钮resetBtn.setOnClickListener(v -> {activityName.setText(null);});}private void setActivityNameEvent() {// 活动名称添加内容改变后监听 触发校验活动名称activityName.addTextChangedListener(new TextWatcher() {@Overridepublic void beforeTextChanged(CharSequence s, int start, int count, int after) {}@Overridepublic void onTextChanged(CharSequence s, int start, int before, int count) {}@Overridepublic void afterTextChanged(Editable s) {verifyActivityName();}});}private void verifyActivityName() {if (StringUtils.isEmpty(activityNameValue)) {activityNameTip.setText("请输入活动名称");createVerifyPass = false;} else {if ((activityNameValue.length() < 3 || activityNameValue.length() > 5)) {activityNameTip.setText("长度在3到5个字符");createVerifyPass = false;} else {activityNameTip.setText(null);}}}

debug调试发现走activityName.setText(null);就会马上触发afterTextChanged,进而调用verifyActivityName(),是同步的方法调用,咱们的需求需要在手动修改EditText组件时能够触发校验,而点击重置按钮时EditText组件内容置空不触发校验。

解决方案:

考虑新增一个标识resetBtnClickFlag用来识别当前的动作是否为重置,如果为重置则不触发具体的提示校验:

	private EditText activityName;private boolean resetBtnClickFlag = false;private void handleResetEvent() {// 在重置按钮逻辑开始和结束分别设置重置标识开启和关闭resetBtn.setOnClickListener(v -> {resetBtnClickFlag = true;activityName.setText(null);selectArea = null;selectDate = null;selectTime = null;timelyDelivery.setChecked(false);onlineActivity.setChecked(false);pushActivity.setChecked(false);offlineActivity.setChecked(false);brandExposure.setChecked(false);onlineBrandSponsorship.setChecked(false);offlineFree.setChecked(false);eventFormat.setText(null);resetBtnClickFlag = false;});}// 在控制提示信息的具体方法补充重置标识逻辑private void verifyActivityName() {Editable activityNameValue = activityName.getText();if (!resetBtnClickFlag && StringUtils.isEmpty(activityNameValue)) {activityNameTip.setText("请输入活动名称");createVerifyPass = false;} else {if (!resetBtnClickFlag && (activityNameValue.length() < 3 || activityNameValue.length() > 5)) {activityNameTip.setText("长度在3到5个字符");createVerifyPass = false;} else {activityNameTip.setText(null);}}}

效果:

请添加图片描述

http://www.sczhlp.com/news/76201/

相关文章:

  • 巴中市住房和城乡建设局网站乐清本地网
  • 网站之家查询域名注册建筑公司
  • 网站页面打不开广东移动宽带官网站
  • 简单的网站构建的基本流程国庆网页制作素材
  • 阜阳市网站建设怎样创建基本的网站
  • 关于电商网站规划方案seo综合排名优化
  • 网站降权恢复wordpress 主题评论
  • Cursor长效Token获取核心技术解析
  • 网站备案归wordpress force ssl
  • 海口网站制作策划网站加盟城市分站
  • 江苏网站优化近一周内的热点新闻
  • 金融集团网站模板wordpress 账号 有效期
  • 微信公众号小说代理和网站结合怎么做广东网站建设英铭科技
  • 网站的建设论文的选题描述南京刚刚发生的大事
  • 如何系统的学习AI相关的知识,进入到AI行业-grok的答案
  • 并发安全
  • 网站开发 京东网站主视觉
  • 秦皇岛开发区建设局网站网站如何建设目录
  • 做服装招聘的网站有哪些家居网站建设的背景及意义
  • 广西莲城建设集团有限公司网站做网站接私活怎么收费
  • 商城型移动端网站开发多少钱安徽省建设监理协会 旧网站
  • 瑞芯微 RV1106G 硬件参考设计分享,包括原理图、PCB文件以及设计指南
  • 网站备案拍照幕布百度知道网页版登录入口
  • 销售类网站数据库的建设代理网址ip
  • 欧美男女直接做的视频网站google怎么推广
  • 黄冈网站建设优化排名前端网站开发培训
  • 星夜智能建站平台收费图片网站
  • 司法局网站建设方案打开搜索引擎
  • 重新安wordpress网站轻栈小程序官网
  • 河北衡水市网站制作的公司跨境电商官网