android 回車鍵事件編程


實現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鍵被按下,就可以編寫自己事件響應功能了。

點擊下載源碼

具體代碼:

  1. package listenter.main;  
  2.   
  3. import android.app.Activity;  
  4. import android.content.Context;  
  5. import android.os.Bundle;  
  6. import android.view.KeyEvent;  
  7. import android.view.View;  
  8. import android.view.View.OnKeyListener;  
  9. import android.view.inputmethod.InputMethodManager;  
  10. import android.widget.EditText;  
  11.   
  12. public class EnterListenter extends Activity {  
  13. /** Called when the activity is first created. */  
  14. @Override  
  15. public void onCreate(Bundle savedInstanceState) {  
  16. super.onCreate(savedInstanceState);  
  17. setContentView(R.layout.main);  
  18.   
  19. EditText password=(EditText)findViewById(R.id.password);  
  20.   
  21. password.setOnKeyListener(onKey);  
  22.   
  23. }  
  24.   
  25. OnKeyListener onKey=new OnKeyListener() {  
  26.   
  27. @Override  
  28.   
  29. public boolean onKey(View v, int keyCode, KeyEvent event) {  
  30.   
  31. // TODO Auto-generated method stub  
  32.   
  33. if(keyCode == KeyEvent.KEYCODE_ENTER){  
  34.   
  35. InputMethodManager imm = (InputMethodManager)v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);  
  36.   
  37. if(imm.isActive()){  
  38.   
  39. imm.hideSoftInputFromWindow(v.getApplicationWindowToken(), 0 );  
  40.   
  41. }  
  42.   
  43. return true;  
  44.   
  45. }  
  46.   
  47. return false;  
  48.   
  49. }  
  50.   
  51. };  
  52. }  

圖-1 點擊回車鍵隱藏鍵盤

PS:

把EditText的Ime Options屬性設置成不同的值,Enter鍵上可以顯示不同的文字或圖案
actionNone : 回車鍵,按下后光標到下一行
actionGo : Go,
actionSearch : 一個放大鏡
actionSend : Send
actionNext : Next
actionDone : Done,隱藏軟鍵盤,即使不是最后一個文本輸入框


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM