一、实现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()});
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)