美文网首页
【Android】关于EditText

【Android】关于EditText

作者: 吃吃吃鱼呀 | 来源:发表于2017-03-14 23:49 被阅读28次

    这是EditText的一些小内容,自己之前没有使用过,权当记录。

    1、EditText的数据校验

    这里的数据校验,场景是用在登录的时候之类的,当然也可以在其他地方。

    当输入完之后,EditText上焦点转移,就会触发校验判断的代码:

    et1 = (EditText) findViewById(R.id.edittext1);
    
    et1.setOnFocusChangeListener(new OnFocusChangeListener() {
                @Override
                public void onFocusChange(View arg0, boolean arg1) {
                    if(!arg1){
                        String s = et1.getText().toString();
                        if(s.length()<5 || s.length()>10){
                            et1.setError("长度不符合5-10位");
                        }
                    }
                }
            });
    

    看我写的简单代码中,如果输入的字符串少于5位时,就会执行et1.setError(),这个的效果就是在et后面增加这个红底白色感叹号。


    数据校验1

    点击共色的感叹号❗️,就有如下的提示:

    数据校验2

    2、EditText的中插入图片

    就是例如我需要在EditText中插入一个表情符号:
    (说起来大概会很简单,就是用SpannableString来设置复合文本)

    准备工作:

    et2 = (EditText) findViewById(R.id.edittext2);
    btn1 = (Button) findViewById(R.id.button1);
    btn1.setOnClickListener(this);
    

    点击事件插入图片:

    @Override
    public void onClick(View arg0) {
            // 定义一个位图对象
            Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
    
            //定义一个可输入EditText的字符串对象
            //SpannableString很关键
            SpannableString span= new SpannableString("pic");
    
            //将可输入EditText的字符串对象替换成位图对象
            ImageSpan imaSpan =new ImageSpan(MainActivity.this,bitmap);
            span.setSpan(imaSpan, 0, 3, SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE);
            
            et2.append(span);
    }
    

    然后我们就可以看到效果,点击一下后,EditText上出现一个图像:

    点击一下

    然后可以继续添加:

    点击两下

    相关文章

      网友评论

          本文标题:【Android】关于EditText

          本文链接:https://www.haomeiwen.com/subject/rqkhwttx.html