gpt4 book ai didi

android - 在不添加到后台堆栈的情况下扩展 SearchActionItem

转载 作者:行者123 更新时间:2023-11-29 00:31:49 26 4
gpt4 key购买 nike

我有一个搜索结果页面 Activity,它的操作栏中有一个 SearchView 小部件。在 onCreateOptionsMenu() 中,我自动展开它并显示如下查询:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.search_menu, menu);
MenuItem searchMenuItem = (MenuItem) menu.findItem(R.id.menu_search);
SearchView searchView = (SearchView)searchMenuItem.getActionView();
searchView.setOnQueryTextListener(this);
searchMenuItem.expandActionView(); // expand the search item
searchView.setQuery(query, false); // hide the keyboard
searchView.clearFocus();
return true;
}

home键是这样设置的:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
finish();
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}

但是当用户按下后退或向上按钮时,搜索会先关闭,然后您必须再次按下才能关闭 Activity。如何强制 Activity 立即完成?

最佳答案

你可以做的一件事是 finish() 你的 Activity 一旦 SearchView 通过实现 OnActionExpandListener< 折叠:

searchMenuItem.setOnActionExpandListener(new OnActionExpandListener() {
@Override
public boolean onMenuItemActionCollapse(MenuItem item) {
finish();
return true;
}
@Override
public boolean onMenuItemActionExpand(MenuItem item) {
return true;
}
});

关于android - 在不添加到后台堆栈的情况下扩展 SearchActionItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15147051/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com