android EditText 回車事件

remotesupport發表於2014-08-22
對於非內建輸入法 
Java程式碼  收藏程式碼
  1. password = (EditText) findViewById(R.id.login_password_edit);  
  2.         password.setOnKeyListener(new OnKeyListener() {  
  3.   
  4.             @Override  
  5.             public boolean onKey(View v, int keyCode, KeyEvent event) {  
  6.                 if (KeyEvent.KEYCODE_ENTER == keyCode && event.getAction() == KeyEvent.ACTION_DOWN) {  
  7.                     login();  
  8.                     return true;  
  9.                 }  
  10.                 return false;  
  11.   
  12.             }  
  13.         });  


內建輸入法 
Xml程式碼  收藏程式碼
  1. <EditText  
  2.            android:id="@+id/login_password_edit"  
  3.            android:layout_width="wrap_content"  
  4. ndroid:imeOptions="actionSend" />  

或者 
Java程式碼  收藏程式碼
  1. editText.setImeOptions(EditorInfo.IME_ACTION_DONE);  

會根據imeOptions值得不同,預設輸入法的Enter鍵會有不同的圖案和功能。 
https://developer.android.com/reference/android/view/inputmethod/EditorInfo.html 

程式碼裡監聽 
Java程式碼  收藏程式碼
  1. password.setOnEditorActionListener(new TextView.OnEditorActionListener() {  
  2.   
  3.             @Override  
  4.             public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {  
  5.                 if (actionId == EditorInfo.IME_ACTION_NEXT) {  
  6.                     System.out.println("下一步");  
  7.                                         return true;  
  8.                 }  
  9.                 return false;  
  10.             }  
  11.         });  

相關文章