Android 按Back键后如何保持AutoCompleteTextView的DropDownList打开?
我在活动中使用AutoCompleteTextView,我需要始终显示它的DropDownList(这是窗口中唯一的视图),即使在按Back键之后也是如此。我需要放弃软键盘 我试图重写Activity的onBackPressed方法,但它根本没有被使用,所以BackPressed事件被处理在“更高”的地方。所以我试图找出在哪里,但AutoCompleteTextView没有定义OnBackpress方法 有什么建议吗?你可以试试这个Android 按Back键后如何保持AutoCompleteTextView的DropDownList打开?,android,event-handling,drop-down-menu,autocompletetextview,Android,Event Handling,Drop Down Menu,Autocompletetextview,我在活动中使用AutoCompleteTextView,我需要始终显示它的DropDownList(这是窗口中唯一的视图),即使在按Back键之后也是如此。我需要放弃软键盘 我试图重写Activity的onBackPressed方法,但它根本没有被使用,所以BackPressed事件被处理在“更高”的地方。所以我试图找出在哪里,但AutoCompleteTextView没有定义OnBackpress方法 有什么建议吗?你可以试试这个 @Override public boolean onKeyD
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
//Your back key press logic
}
return true;
}
请记住返回true以防止进一步传播此事件,或返回false以指示您尚未处理此事件并应继续传播。您可以创建自定义AutoCompleteTextView并覆盖onKeyPreIme方法(int-keyCode,KeyEvent-event) 我还意识到这个方法被调用了两次,我只在第二次运行我的代码。以下是一个例子:
@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);
}
我尝试过,但从未调用onKeyDown方法。与onBackPressed方法相同。看起来AutoCompleteTextView或其任何部分都在自行处理按键事件。但我不知道是哪一个。这也妨碍了完成一项活动。