我在"活动"中使用AutoCompleteTextView,我需要它的DropDownList始终显示(它是窗口中唯一的视图),即使在按下Back键之后也是如此。我需要放弃软键盘。
我试图覆盖Activity的onBackPressed方法,但它根本没有被使用,所以BackPressed事件被处理在"更高"的地方。所以我试图找出在哪里,但AutoCompleteTextView没有定义onBackPressed方法。
有什么建议吗?
您可以创建自定义的AutoCompleteTextView并覆盖KeyPreIme(int keyCode,KeyEvent事件)方法
我还意识到这个方法被调用了两次,我只在第二次运行我的代码。以下是示例:
@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == 1) {
//add your code here
return true;
}
return super.onKeyPreIme(keyCode, event);
}
你可以试试这个
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
//Your back key press logic
}
return true;
}
请记住,返回true可防止此事件进一步传播,返回false则表示您尚未处理此事件,应继续传播。