我在我的Activity中使用AutoCompleteTextView,我需要它的DropDownList一直显示(它是Window中唯一的View),即使在Back键按下之后也是如此。我需要取消软键盘。
我试图覆盖Activity的onBackPressed方法,但它根本没用,所以BackPressed事件正在“更高”的某处处理。所以我试图找出它的位置,但AutoCompleteTextView没有定义onBackPressed方法。
有任何建议吗?
答案 0 :(得分:2)
您可以创建自定义AutoCompleteTextView并覆盖onKeyPreIme方法(int keyCode,KeyEvent事件)
我也意识到这个方法被调用了2次,我只在第二次运行我的代码。这是一个例子:
@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);
}
答案 1 :(得分:0)
你可以试试这个
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
//Your back key press logic
}
return true;
}
请记住返回true以防止此事件被进一步传播,或者返回false以指示您尚未处理此事件并且应继续传播该事件。