我的应用程序中有一个登录页面,其中列出了以下元素:
- 用户名(编辑文本)
- 密码(编辑文本)
- 登录(按钮)
按下Login
时,它将进入主屏幕。Done
目的是当用户在软键盘上完成键入密码时执行相同的操作Samsung Galaxy S3
;和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 与 imeOptions 一起保留,actionDone
但flagNoExtractUi
没有成功。