相关疑难解决方法(0)

EditText和InputFilter导致重复文本

我正在尝试实现一个EditText,它只将输入限制为alpha字符[A-Za-z].

我从这篇文章开始使用InputFilter方法.当我输入"a%"时,文本消失,如果我按退格键,则文本为"a".我已经尝试了过滤器功能的其他变体,比如使用正则表达式只匹配[A-Za-z],有时会看到像重复字符这样的疯狂行为,我会输入"a"然后"b"并获得"aab"然后键入"c"并获取"aabaabc"然后点击退格并获得"aabaabcaabaabc"!

这是我到目前为止使用的代码,我尝试过不同的方法.

    EditText input = (EditText)findViewById( R.id.inputText );
    InputFilter filter = new InputFilter() {
        @Override
        public CharSequence filter( CharSequence source, int start, int end, Spanned dest, int dstart, int dend ) {
            //String data = source.toString();
            //String ret = null;
            /*
            boolean isValid = data.matches( "[A-Za-z]" );
            if( isValid ) {
                ret = null;
            }
            else {
                ret = data.replaceAll( "[@#$%^&*]", "" );
            }
            */
            /*
            dest = new SpannableStringBuilder();
            ret = data.replaceAll( "[@#$%^&*]", "" );
            return …
Run Code Online (Sandbox Code Playgroud)

android android-edittext

13
推荐指数
2
解决办法
8984
查看次数

按 "." 很多次(在输入时验证EditText中的IP地址)

我有以下EditText:

 <EditText
android:id="@+id/ip"
android:layout_width="200dip"
android:layout_height="wrap_content"
android:singleLine="true"
android:inputType="numberDecimal">
</EditText>
Run Code Online (Sandbox Code Playgroud)

我想用它来获取IP地址.但它不允许我键入'.' (句点符号)不止一次因为inputtype设置为numberDecimal.关于如何获得多个"."的任何建议.同时将inputType设置为数字.

validation user-interface android android-edittext

2
推荐指数
1
解决办法
7351
查看次数