AndroidEditText实现输入金额类型详解

2019-11-5 编辑:admin 来源:互联网 阅读次数:
  导读: 前言 众所周知,Android中的editText默认的属性里面是没有金额类型的,所以要实现这个功能我们就必须自己动手丰衣足食。下面话不多说了,来一起看看详细的介绍吧。 一.EditText只允许输入数字、小数点。 ...

前言

众所周知,Android中的editText默认的属性里面是没有金额类型的,所以要实现这个功能我们就必须自己动手丰衣足食。下面话不多说了,来一起看看详细的介绍吧。

一.EditText只允许输入数字、小数点。

首先要知道金额有两部分构成,整数部分和小数部分,要实现只输入数字和小数点很简单。自己查能很容易查到。

把type设置成InputType.TYPE_NUMBER_FLAG_DECIMAL|InputType.TYPE_CLASS_NUMBER 就行

那这样做有个缺点,小数部分可以有很多位。而我们知道金额类型的小数部分只能有两位,所以这个方法不合适。

二.设置字符过滤

网上有很多文章都是这样写。

mEdit.setFilters(new InputFilter[]{new InputFilter() {
 @Override
 public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
  if(source.equals(".") && dest.toString().length() == 0){
   return "0.";
  }
  if(dest.toString().contains(".")){
   int index = dest.toString().indexOf(".");
   int mlength = dest.toString().substring(index).length();
   if(mlength == 3){
    return "";
   }
  }
  return null;
 }
}});


本文关键词:

文章出自:互联网,文中内容和观点不代表本网站立场,如有侵权,请您告知,我们将及时处理。

 
 
科技头条 - 关注科技最新动态,上科技头条的才是真的头条 - 惟翔资讯
科技头条 关注科技最新动态,上科技头条的才是真的头条 服务QQ:175529508 e-mail:zk8312@163.com
Copyright @ 科技头条 2014 All Rights Reserved | 吉ICP备14005127号-2
本站部分资源来自网友上传,如果无意之中侵犯了您的版权,请联系本站,本站将在3个工作日内删除。