Android金额输入EditText共通方法
2024-09-29 13:14:26
代码改变世界
EditText输入框实现最多到小数点后两位(金额显示)
package com.lianpos.util; import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText; /**
* Created by wangshuai on 2017/11/29 0029.
*/ public class MoneyEditText {
public static void setPricePoint(final EditText editText) { editText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
if (s.toString().contains(".")) {
if (s.length() - 1 - s.toString().indexOf(".") > 2) {
s = s.toString().subSequence(0,
s.toString().indexOf(".") + 3);
editText.setText(s);
editText.setSelection(s.length());
}
}
if (s.toString().trim().substring(0).equals(".")) {
s = "0" + s;
editText.setText(s);
editText.setSelection(2);
}
if (s.toString().startsWith("0") && s.toString().trim().length() > 1) {
if (!s.toString().substring(1, 2).equals(".")) {
editText.setText(s.subSequence(0, 1));
editText.setSelection(1);
return;
}
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) { }
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});
}
}
使用方法:
MoneyEditText.setPricePoint(number_unit_edit);
number_unit_edit是edittext,如下:
<EditText
android:id="@+id/number_unit_edit"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:background="@null"
android:gravity="right"
android:hint="0.00"
android:maxLength="7"
android:inputType="numberDecimal"
android:padding="15dp"
android:textColor="#333333"
android:textSize="16dp" />
最新文章
- 天津政府应急系统之GIS一张图(arcgis api for flex)讲解(七)地图打印模块
- redis缓存
- Android中Animation 详细解读
- LaTeX 有哪些「新手须知」的内容?
- [linux] 系统管理常用命令
- SQL SERVER 高级编程 - 自定义函数 拾忆
- webfont自定义字体的实现方案
- OCA读书笔记(15) - 执行数据库备份
- Android Studio 100 tips and tricks
- 这一招让 Word 帮你自动生成文件目录,也能自动更新
- python pip升级失败
- 我们为什么要使用RabbitMQ?
- springmvc 项目完整示例05 日志 --log4j整合 配置 log4j属性设置 log4j 配置文件 log4j应用
- Java入门系列 Java 中的四种引用
- vue 中的数据绑定
- C++常见的概念
- JAVA记录-异常基本概念
- RMAN命令总结
- Java中级面试题及答案整理
- Python日期格式化知识
热门文章
- SAP Cloud for Customer Price-计价简介
- 分享一些关于Lucene的心得
- UVA 10570 Meeting with Aliens 外星人聚会
- [手势识别] CNN + OpenCV 手势识别记录
- 实验十二 团队作业8:软件测试与Alpha冲刺
- “CTL_CODE”未定义
- window.addEventListener介绍说明
- ll1文法
- B. Anatoly and Cockroaches
- 【js】window.onscroll 无效问题