Android开发edittext输入监听

       在开发Android的过程中,对于edittext的使用频率还是挺高的,比如用户账号密码的输入,基本信息的填写,数据的填入等,一般都会通过button点击事件对其数据进行提取,不过在一些场景,需要实时监听或者当输入完毕之后要马上获取用户所输入的数据,这就需要考虑使用edittext监听事件的使用了。对于其监听事件一般有两种:

一种为:setOnEditorActionListener,另一种为:addTextChangedListener。

使用方法如下:

1、setOnEditorActionListener

et_on.setOnEditorActionListener(new TextView.OnEditorActionListener() {
            @Override
            public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
                Toast.makeText(getApplicationContext(),"输入的为:"+et_on.getText().toString(),Toast.LENGTH_LONG).show();
                return false;
            }
        });

注意该方法需要通过敲击回车键才会有所监听返回,当这里返回的为false时,表示还能再进行其他操作。效果如下:

Android开发edittext输入监听_第1张图片

 如果返回值为true时,按回车键其结果为:

 Android开发edittext输入监听_第2张图片

2、addTextChangedListener

该方法使用的可以实时获取用户所输入的数据,为方便演示,本人定义了一个textview监听其数据变化:

 et_add.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void afterTextChanged(Editable editable) {
                tv_show.setText(editable.toString().trim());
            }
        });
    }

用到的三个函数分别是数据变化前、变化时、变化后对于数据的监听事件。主要使用第三个函数。使用效果为:

Android开发edittext输入监听_第3张图片

 总结:EditText主要两种方法特征:

1、setOnEditorActionListener对于控件的监听发生于按回车键的时候。

2、addTextChangedListener对于控件的监听是实时对应的。

你可能感兴趣的:(Androidstudio)