android 通过监听edittext实现button的点击事件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 通过监听edittext实现button的点击事件相关的知识,希望对你有一定的参考价值。
如果你没有接第三方的输入设备,那么点击按钮只需找到你的button然后:
button.performClick();
就可以了
那么如果你用到第三方输入法,有些时候监听就没有这么好使了:
以下场景为:
外接输入服务,直接给我丢一串字符,我拿到字符后执行按钮事件
代码如下:
editText1.addTextChangedListener(new TextWatcher(){ @Override public void afterTextChanged(Editable s) { Log.d(TAG, "afterTextChanged"); } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { Log.d(TAG, "beforeTextChanged:" + s + "-" + start + "-" + count + "-" + after); } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { if(s.length()>5) { Log.d(TAG, "onTextChanged:" + s + "-" + "-" + start + "-" + before + "-" + count); Toast.makeText(context, s + "", Toast.LENGTH_LONG).show(); // EditText editText3 = (EditText) findViewById(R.id.et_3); Button button = (Button) findViewById(R.id.bu_1); button.performClick(); } } });
需要注意的是,
onTextChanged
方法内必须给一个限定参数,否则会不断的执行,形成死循环,程序就会意外退出。
我这边写的则是
if(s.length()>5)
以上是关于android 通过监听edittext实现button的点击事件的主要内容,如果未能解决你的问题,请参考以下文章
Android限制EditText只能输入中文或者指定内容的实现
Android开发之EditText 详解(addTextChangedListener监听用户输入状态)