Android金额输入EditText共通方法
代码改变世界
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" />
Android金额输入EditText共通方法的更多相关文章
- C#验证对象中的属性是否为空的共通方法
在后台接口处理时,经常需要对请求的参数做验证.因此提取了共通方法,方便进行判断. /// <summary> /// 数据验证工具类 /// </summary> public ...
- [转]Android学习:EditText的使用方法
EditText是在Android开发中经常被使用到的控件,主要用来获取用户的输入内容. 1.EditText常用属性 EditText继承自TextView,所以EditText也拥 ...
- Android 控件EditText的setOnEditorActionListener方法的理解
需要注意的是 setOnEditorActionListener这个方法,并不是在我们点击EditText的时候触发,也不是在我们对EditText进行编辑时触发,而是在我们编辑完之后点击软键盘上的回 ...
- Vue 使用mixin抽取共通方法
引入原因: 当一段逻辑在不同的地方使用时 step-1: 定义mixin文件,methods里有一个handleToLink方法 /** * this mixin file will be used ...
- js中获取URL参数的共通方法getRequest()方法
getRequest : function() { var url = location.search; //获取url中"?"符后的字串 var theRequest = new ...
- 【Python】自动化测试框架-共通方法汇总
1.滚动滚动条(有的时候页面元素element取得对但是并没有回显正确的数据,可能是因为页面第一次加载很慢,所以页面可能做了滚动到哪里就加载到哪里的效果,此刻我们就需要用到滚动条自动滚动这段代码让页面 ...
- 一个共通的viewModel搞定所有的编辑页面-经典ERP录入页面(easyui + knockoutjs + mvc4.0)
http://www.cnblogs.com/xqin/archive/2013/06/06/3120887.html 前言 我写代码喜欢提取一些共通的东西出来,之前的一篇博客中说了如何用一个共通的v ...
- Android 防止按钮连续点击的方法(Button,ImageButton等)
防止按钮连续点击 其实实现很简单 共通方法 public class Utils { private static long lastClickTime; public static boolean ...
- List排序共通代码
此共通方法可以根据特定字段进行排序 package com.gomecar.index.common.utils; import java.lang.reflect.Method; import ja ...
随机推荐
- processing制作动态山水背景
效果代码 float theta, step; int num=5, frames = 1200; Layer[] layers = new Layer[num]; // void setup() { ...
- SubSonic框架使用图解
简介:SubSonic框架是一个优秀的.开源的ORM映射框架,同时提供符合自身需要的代码生成器. 官方下载地址:http://subsonicproject.com/Download 明白了SubSo ...
- DROP GROUP - 删除一个用户组
SYNOPSIS DROP GROUP name DESCRIPTION 描述 DROP GROUP 从数据库中删除指定的组.组中的用户不被删除. 组中的用户不被删除. PARAMETERS 参数 n ...
- DROP RULE - 删除一个重写规则
SYNOPSIS DROP RULE name ON relation [ CASCADE | RESTRICT ] DESCRIPTION 描述 DROP RULE 删除一个规则. PARAMETE ...
- C#算术运算符
一.C#算术运算符 C#语言的算术运算符主要用于数学计算中. 二.示例 using System;using System.Collections.Generic;using System.Linq; ...
- Spring中使用事务搭建转账环境方法二 相对简便的注解方法 ——配置文件注入对象属性需要setter方法 注解方法,不需要生成setter方法
XML配置文件代码如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...
- virtualvenv+django+uWSGI+nginx 部署 踩坑记录
原创博文 转载请注明出处! uwsgi: unrecognized option '--http:8089' uwsgi: unrecognized option '--http' uwsgi trk ...
- UVa 12171 题解
英文题面不怎么友好,大家还是自行通过紫书了解题面吧... 解题思路: 1. 面对500 ^ 3的数据范围,我们需要先用离散化解决掉爆空间的问题. 2. 由于我们要求的总体积包括内空部分的体积,我们可以 ...
- (74)zabbix第三方认证之http(nginx basic auth)
HTTP Basic Auth认证方式,我们将在实例中使用nginx来演示,Apache也类似. zabbix认证配置 Administration>> Authentication,将h ...
- ise与win8兼容解决方案
win8中ise无法加载code,显示impact4.exe停止运行. 解决方法如下: 找到程序安装路径 1.进入文件夹 D:\Xilinx\14.6\ISE_DS\ISE\lib\nt64 把li ...