Android 回车键事件编程【附源码】

JINKAI 2011-10-26

实现Android按下回车键便隐藏输入键盘,有两种方法:

1.)如果布局是多个EditText,为每个EditText控件设置android:singleLine=”true”,弹出的软盘输入法中回车键为next,直到最后一个获取焦点后显示为Done,点击Done后,软盘输入键盘便隐藏。或者将EditText的imeOptions属性设置android:imeOptions=”actionDone”,则不管是不是最后一个EditText,点击回车键即隐藏输入法。

2.)监听Enter的事件,编写Enter的事件响应。设置文本框的OnKeyListener,当keyCode ==KeyEvent.KEYCODE_ENTER的时候,表明Enter键被按下,就可以编写自己事件响应功能了。

Android 回车键事件编程工程源码下载地址:

具体下载目录在 /pub/Android源码集锦/2011年/10月/Android 回车键事件编程源码/

具体代码:

  1. package listenter.main;  
   import android.app.Activity;   import android.content.Context;   import android.os.Bundle;   import android.view.KeyEvent;   import android.view.View;   import android.view.View.OnKeyListener;   import android.view.inputmethod.InputMethodManager;   import android.widget.EditText;      public class EnterListenter extends Activity {   /** Called when the activity is first created. */   @Override   public void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);   setContentView(R.layout.main);      EditText password=(EditText)findViewById(R.id.password);      password.setOnKeyListener(onKey);      }      OnKeyListener onKey=new OnKeyListener() {      @Override      public boolean onKey(View v, int keyCode, KeyEvent event) {      // TODO Auto-generated method stub      if(keyCode == KeyEvent.KEYCODE_ENTER){      InputMethodManager imm = (InputMethodManager)v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);      if(imm.isActive()){      imm.hideSoftInputFromWindow(v.getApplicationWindowToken(), 0 );      }      return true;      }      return false;      }      };   }  
Android 回车键事件编程【附源码】
 
图-1 点击回车键隐藏键盘

PS:

把EditText的Ime Options属性设置成不同的值,Enter键上可以显示不同的文字或图案
actionNone : 回车键,按下后光标到下一行
actionGo : Go,
actionSearch : 一个放大镜
actionSend : Send
actionNext : Next
actionDone : Done,隐藏软键盘,即使不是最后一个文本输入框

相关推荐