edittext监听事件的使用了。对于其监听事件一般有两种:
一种为:setOnEditorActionListener,另一种为:addTextChangedListener setOnEditorActionListener对于控件按回车键的时候的监听。 addTextChangedListener对于控件实时的监听。
setOnEditorActionListener etxtview.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时可以使用返回键输入下一行当返回true时则直接显示输入的内容
addTextChangedListener etxtview.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) { //输入后editable.toString().trim()//获取内容 } }); }第一种就是监听EditText的setOnEditorActionListener方法,然后把回车键禁止,但是在虚拟键盘中依然会显示enter键:
private void setListener(){ editText.setOnEditorActionListener(new OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { return (event.getKeyCode()==KeyEvent.KEYCODE_ENTER); } }); }第二种方法是直接在EditText的xml文件中通过配置android:singleLine="true"把虚拟键盘上的回车键去掉不让他显示。为了保险起见再加一条只能输入单行
<EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="登录账户" android:maxLines="1" android:singleLine="true" />