【发布时间】:2014-05-02 16:13:30
【问题描述】:
我的应用中有一个登录页面,其中列出了以下元素:
- 用户名(EditText)
- 密码(编辑文本)
- 登录(按钮)
按下Login,它将进入主屏幕。目的是当用户在完成在Samsung Galaxy S3 上的软键盘上键入密码时点击Done 时执行相同的操作;和HTC One X上软键盘的Enter键。
所以,密码字段的 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" />
在Activity中,我尝试的都在这里:
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,但没有成功。
【问题讨论】:
标签: android login android-edittext android-softkeyboard keyevent