我在我的应用程序有一个登录页面里有元素列举: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
,但它没有解决。