Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android 限制edittext 整数和小数位数 过滤器(详解)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

写了一个过滤器,根据需要限制edittext输入的整数和小数位,如下代码

package allone.verbank.apad.client.component;

import android.text.InputFilter;
import android.text.SpAnned;

/**
 * 
 * @title: ComponentDigitCtrlFilter.java 
 * @Package allone.verbank.apad.client.component 
 * @Description: 为了限制edit根据商品输入指定的位数和小数位
 * @author qiulinhe qiu.linhe@allone.cn 
 */
public class ComponentDigitCtrlFilter implements InputFilter {

 private Boolean isJPY;
 privatE int digit;

 public ComponentDigitCtrlFilter(Boolean isJPY,int digit) {
 this.isJPY = isJPY;
 this.digit = digit;
 }

 @Override
 public CharSequence filter(CharSequence source,int start,int end,SpAnned dest,int dstart,int dend) {
 // 删除等特殊字符,直接返回
 if ("".equals(source.toString())) {
 return null;
 }
 String oriValue = dest.toString();
 StringBuffer sb = new StringBuffer(orivalue);
 sb.append(sourcE);
 String newValue = sb.toString();
 String[] newValueVec = newValue.split("\\.");
 if (newValueVec.length == 2) {
 double @R_673_10793@er = Double.parseDouble(newValueVec[0]);
 Boolean @R_673_10793@erflag = true;
 if (isJPY) {
 @R_673_10793@erflag = ((@R_673_10793@er - 999 > 0.000001) ? false : truE);
 } else {
 @R_673_10793@erflag = ((@R_673_10793@er - 99 > 0.000001) ? false : truE);
 }

 Boolean digitflag = true;
 try {
 String digit@R_673_10793@er = newValueVec[1];
 digitflag = digit@R_673_10793@er.tocharArray().length > digit ? false : true;
 } catch (Exception eX) {
 digitflag = false;
 }
 if (@R_673_10793@erflag && digitflag) {
 return source;
 } else {
 return "";
 }
 } else {
 double value = Double.parseDouble(newvalue);
 if (isJPY) {
 return value > 999 ? "" : source;
 } else {
 return value > 99 ? "" : source;
 }
 }
 // dest.subSequence(dstart,dend)
 }
}

逻辑是判断传入的isJPY是否是要整数两位小数三位数的,然后对输入的数据进行限制,只需要将过滤器添加到对应的edittext控件即可,如下:stopEditText.setFilters(new InputFilter[] { new ComponentDigitCtrlFilter(digit == 2,digit) });

以上这篇Android 限制edittext 整数和小数位数 过滤器(详解)就是小编分享给大家的全部内容了,希望能给大家一个,也希望大家多多支持编程小技巧。

大佬总结

以上是大佬教程为你收集整理的Android 限制edittext 整数和小数位数 过滤器(详解)全部内容,希望文章能够帮你解决Android 限制edittext 整数和小数位数 过滤器(详解)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。