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

建设厅官方网站北京百度指数查询官方下载

建设厅官方网站北京,百度指数查询官方下载,盘锦工程建设信息网站,都匀住房和城乡建设厅网站要限制 AppCompatEditText 只能输入两位小数,可以使用 TextWatcher 来实时监控用户输入,并在超出限制时进行处理。以下是如何在 Kotlin 中实现这一功能: 创建 AppCompatEditText:在 XML 布局中定义 AppCompatEditText,…

要限制 AppCompatEditText 只能输入两位小数,可以使用 TextWatcher 来实时监控用户输入,并在超出限制时进行处理。以下是如何在 Kotlin 中实现这一功能:

  1. 创建 AppCompatEditText:在 XML 布局中定义 AppCompatEditText,如你所示。

  2. 添加 TextWatcher:在代码中为该 AppCompatEditText 添加 TextWatcher,以便在用户输入时进行验证和格式化。

XML 布局:

<androidx.appcompat.widget.AppCompatEditTextandroid:id="@+id/item_input"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_vertical"android:layout_weight="1"android:background="@color/transparent"android:gravity="end"android:hint="请输入"android:inputType="numberDecimal"android:textAlignment="textEnd"android:textColor="#222222"android:textColorHint="#CCCCCC"android:textSize="14sp" />

Kotlin 代码:

import android.os.Bundle
import android.text.Editable
import android.text.TextWatcher
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.widget.AppCompatEditTextclass MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)val editText = findViewById<AppCompatEditText>(R.id.item_input)editText.addTextChangedListener(object : TextWatcher {override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {}override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {if (s != null) {val str = s.toString()if (str.isNotEmpty()) {val regex = """^(\d+)(\.\d{0,2})?$""".toRegex()if (!regex.matches(str)) {editText.error = "最多只能输入两位小数"}}}}override fun afterTextChanged(s: Editable?) {s?.let {val str = it.toString()if (str.isNotEmpty()) {val regex = """^(\d+)(\.\d{0,2})?$""".toRegex()if (!regex.matches(str)) {editText.removeTextChangedListener(this)var fixedStr = strif (fixedStr.contains(".")) {val parts = fixedStr.split(".")if (parts.size > 1 && parts[1].length > 2) {fixedStr = "${parts[0]}.${parts[1].substring(0, 2)}"}}editText.setText(fixedStr)editText.setSelection(fixedStr.length)editText.addTextChangedListener(this)}}}}})}
}

解释:

1.TextWatcher

  • beforeTextChanged:在文本变化之前调用。
  • onTextChanged:在文本变化期间调用。我们在这里进行实时验证。
  • afterTextChanged:在文本变化之后调用。如果输入的文本不符合格式,我们进行修正。

2.正则表达式

  • ^(\d+)(\.\d{0,2})?$:用于匹配最多两位小数的数字。
  • ^ 和 $ 分别表示字符串的开始和结束。
  • (\d+):匹配一个或多个数字。
  • (\.\d{0,2})?$:可选地匹配小数点后最多两位数字。

3.错误提示

  • 如果输入不符合格式,我们设置错误提示来提醒用户。

4.修正输入

  • 如果输入不符合格式,我们在 afterTextChanged 中进行修正,只保留两位小数。

http://www.dtcms.com/wzjs/176056.html

相关文章:

  • 商标注册号怎么申请黑帽seo技术有哪些
  • 贵阳自助建站软件太原做网络推广的公司
  • apache wordpress配置西安seo外包
  • 谷歌云做网站营销网站有哪些
  • 茂名网站建设建站系统网页seo
  • 视频网站怎么做网站引流地推团队联系方式
  • 做网站图片无法显示的原因电子商务主要学什么内容
  • 厦门手机网站建设常州网络推广哪家好
  • 动态网站开发需求开一个免费网站
  • 上高做网站公司上海专业seo公司
  • 做网站需要多少钱 做seo优化操作
  • 绿色网站配色网站广告调词平台
  • 建设网站有什么网站网店如何做推广
  • 网站建设的模块互联网企业营销策略
  • Css网站引导竞价培训课程
  • 网站托管服务商seo顾问培训
  • 网站建设的规划书百度怎么推广产品
  • 网站域名是什么意思网页设计一般用什么软件
  • wordpress模板网站导航seo方式包括
  • 百度做的网站 后台管理怎么进入江苏百度推广代理商
  • ps做网站好看的logoseo优化有百度系和什么
  • 做网站一般什么问题山东济南最新消息
  • 沧州网站设计哪家好拼多多seo怎么优化
  • 建筑网站开发yandex搜索引擎
  • 聊城市东昌府区建设局网站外贸网站建站和推广
  • 厦门北京网站建设公司哪家好外链代发2分一条
  • 织梦通用企业网站模板佛山快速排名seo
  • 网站业务怎么做的百度统计怎么用
  • dw动态网站怎么做搜索框东莞seo托管
  • 网站开发项目教程笔记域名解析ip地址