2012年9月18日 星期二

EditText:修改虛擬鍵盤的Enter鍵

一般EditText在輸入時虛擬鍵盤上的Enter鍵都預設為"換行" 那要如何改變為其他種類的按鍵呢? 首先在layout檔中加入android:imeOptions屬性


  1. <EditText  
  2.     android:id="@+id/edit_text"    
  3.     android:layout_width="fill_parent"   
  4.     android:layout_height="wrap_content"  
  5.     android:imeOptions="actionDone"
  6.     android:singleLine="true"
  7. /> 


第5行:
輸入enter鍵的種類,有:

actionUnspecified 未指定
actionNone 無動作
actionGo 前往
actionSearch 搜尋
actionSend 發送
actionNext 下一個
actionDone 完成
詳見http://developer.android.com/reference/android/view/inputmethod/EditorInfo.html

第6行:
將EditText改為單行輸入
否則仍然會是換行鍵
在Activity為EditText加入OnEditorActionListener

  1. editText.setOnEditorActionListener(new OnEditorActionListener() {  
  2.             @Override  
  3.             public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {  
  4.                 //按下完成鍵要執行的動作
  5.                 return false;  
  6.             }