中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android 限制edittext 整數和小數位數 過濾器(詳解)

發布時間:2020-09-23 02:52:05 來源:腳本之家 閱讀:163 作者:jingxian 欄目:移動開發

寫了一個過濾器,根據需要限制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 number = Double.parseDouble(newValueVec[0]);
 boolean numberflag = true;
 if (isJPY) {
 numberflag = ((number - 999 > 0.000001) ? false : true);
 } else {
 numberflag = ((number - 99 > 0.000001) ? false : true);
 }

 boolean digitflag = true;
 try {
 String digitNumber = newValueVec[1];
 digitflag = digitNumber.toCharArray().length > digit ? false : true;
 } catch (Exception ex) {
 digitflag = false;
 }
 if (numberflag && 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 整數和小數位數 過濾器(詳解)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永泰县| 阳信县| 西乌| 濮阳市| 原平市| 元朗区| 咸丰县| 林芝县| 台中市| 萝北县| 景德镇市| 津南区| 建湖县| 嵊州市| 睢宁县| 万全县| 永寿县| 安图县| 绥江县| 垣曲县| 深圳市| 西安市| 佛教| 扬州市| 政和县| 米易县| 泾川县| 玛多县| 塔城市| 军事| 深水埗区| 安西县| 富顺县| 永城市| 闵行区| 绥滨县| 酉阳| 新丰县| 四子王旗| 行唐县| 西峡县|