我在我的應用程序有一個登錄頁面裏有元素列舉:Android的 - 捕獲「完成」和「Enter」軟鍵盤上的按鍵事件
- 用戶名(EditText上)
- 密碼( EditText上)
- 登錄(按鈕)
在按下Login
,它會降落到主屏幕。當用戶在Samsung Galaxy S3
軟鍵盤上的密碼輸入完成時點擊Done
時,意圖是執行相同的動作;和Enter
軟鍵鍵HTC One X
。
所以,這裏是密碼字段的EditText上是如何:
<EditText
android:id="@+id/password_txt"
android:layout_width="200dip"
android:layout_height="wrap_content"
android:imeOptions="flagNoExtractUi"
android:inputType="textPassword"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="8dp"
android:singleLine="true" />
活動中,無論我試圖在這裏:
EditText mPassword = (EditText) findViewById(R.id.password_txt);
mPassword.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if(event.getAction() == KeyEvent.ACTION_DOWN && event.getKeyCode() == KeyEvent.KEYCODE_ENTER || actionId == EditorInfo.IME_ACTION_DONE){
Log.e("MyApp", " ------> IN EDITOR ACTION DONE");
}
return false;
}
});
我就與保持imeOptions的密碼嘗試字段爲actionDone
以及flagNoExtractUi
,但它沒有解決。