android如何限制只能输入指定的字符

本文介绍如何在Android应用中使用EditText控件限制用户只能输入特定字符。通过两种方式实现:一是在XML布局文件中直接设置digits属性;二是在Java代码中通过setKeyListener或自定义InputFilter来实现。

1.在xml中直接使用EditText的属性设置

 android:digits="1234567890XYZL" 

2. 在代码里直接写
a.  
EditText mEditText = (EditText)findViewById(R.id.MyEditText);
String digits = "abcdef";
mEditText.setKeyListener(DigitsKeyListener.getInstance(digits)); <span style="font-family: arial, 'courier new', courier, 宋体, monospace; white-space: pre-wrap;">
b.
<pre name="code" class="java">EditText mEditText = (EditText)findViewById(R.id.MyEditText);
InputFilter[] filters = new InputFilter[1];
filters[0] = new MyInputFilter("abcdef");
mEditText.setFilters(filters);
public class MyInputFilter extends LoginFilter.UsernameFilterGeneric {
    private String mAllowedDigits;
                                                                                                                                                                 
    public PopInputFilter( String digits ) {
        mAllowedDigits = digits;
    }
                                                                                                                                                                 
    @Override
    public boolean isAllowed(char c) {
        if (mAllowedDigits.indexOf(c) != -1) {
            return true;
        }             
        return false;
    }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值