我是靠谱客的博主 平淡盼望,最近开发中收集的这篇文章主要介绍android 实现EditText限制输入范围,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、实现EditText 输入限制公司需求需要实现输入框只能输入0-24的数字
首先在布局页面设置

//最大俩位
> android:maxLength="2"
> //设置只能输入数字
>android:inputType="number"
package com.mansion.smart_pad.utils;
import android.text.InputFilter;
import android.text.Spanned;
public class IPSectionFilter implements InputFilter {
/**
* @param source 新输入的字符串
* @param start
新输入的字符串起始下标,一般为0
* @param end
新输入的字符串终点下标,一般为source长度-1
* @param dest
输入之前文本框内容
* @param dstart 新输入的字符在原字符串中的位置
* @param dend
原内容终点坐标,
* @return 输入内容
*/
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
String sourceText = source.toString();
String destText = dest.toString();
if (dstart == 0 && "0".equals(source)) {
//如果输入是0 且位置在第一位,取消输入
return "";
}
StringBuilder totalText = new StringBuilder();
totalText.append(destText.substring(0, dstart))
.append(sourceText)
.append(destText.substring(dstart, destText.length()));
try {
//这边设置到多少 这边设置的是到24
if (Integer.parseInt(totalText.toString()) > 24) {
return "";
} else if (Integer.parseInt(totalText.toString()) == 0) {
//如果输入是0,取消输入
return "";
}
} catch (Exception e) {
return "";
}
if ("".equals(source.toString())) {
return "";
}
return "" + Integer.parseInt(source.toString());
}
}

二、在这边直接调用

//获取适配器里面的EditText id
EditText editText = holder.getView(R.id.et_item_box);
//这边直接调用
editText.setFilters(new InputFilter[]{new IPSectionFilter()});

最后

以上就是平淡盼望为你收集整理的android 实现EditText限制输入范围的全部内容,希望文章能够帮你解决android 实现EditText限制输入范围所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部