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

深圳网站建设大公司排名ngrok做网站服务器

深圳网站建设大公司排名,ngrok做网站服务器,第一ppt网课件下载,深圳比较有名的外贸公司要限制 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/807909.html

相关文章:

  • 河北手机响应式网站建设设计大屏网站做响应
  • 网站备案幕布照片ps如何建立自己的云服务器
  • 关于网站开发网页上传和网站发布深圳服务网站入口
  • App网站建设 高品质网站建设网站开发国外研究状况
  • 如何在网站后台添加商品渠道网官网
  • 天津网站设计网站制作wordpress底部加上自己的版权信息
  • 商业空间设计案例ppt开鲁网站seo免费版
  • 怎么建设幸运28网站wordpress dux5.2
  • 网站建设程序有哪些方面优速网站建设优化seo
  • 怎么做校园表白网站如何做网站的埋点
  • cms 网站后台哪个网站有做阿里巴巴流量
  • 移动端网站如何做导出功能吗软件开发需要什么专业
  • 十大免费cms建站系统介绍县门户网站建设方案
  • 门窗专业设计网站网站后台维护教程
  • 网站排名下降原因做暧嗳xo小视频免费网站
  • 企业网站优化的三层含义阿里巴巴国际站可以做网站吗
  • dede新手做网站多久如何创办一个公众号
  • 国美网站建设的特点端午节网站建设
  • 三层架构做网站还是系统wordpress自定义字段筛选
  • 买了个区域名怎么做网站wordpress 小说 主题
  • 只使用html做简单网站镇江百度网站建设
  • 建设网站的价格分析wordpress 写作主题
  • 搭建网站要多少钱广州微信网站建设费用
  • mysql的网站开发公司部门职责及配置
  • 公司网站手机版设计h5美食制作网站模板
  • 自己做的网站百度收录夏津网站建设费用
  • dz网站首页html代码在哪网站建设的任务规划
  • 网站建设需要软件php网站开发实例教程代码百度云
  • 网站建设安装部署必须买吗专业做运动服装的网站
  • 我做网站编辑写文章很慢怎么办西安烽盈网站建设