Android 搜索后操作栏未恢复正常
我正在使用Android 搜索后操作栏未恢复正常,android,android-intent,searchview,Android,Android Intent,Searchview,我正在使用onNewIntent()和handleIntent()在搜索的活动中使用我的搜索查询,而不是启动新活动,但搜索后,我的活动标题不会返回。取而代之的是一个带有后退按钮的图标,旁边是搜索图标,而不是它应该位于的右侧。当我按下“后退”按钮时,它会回到应该的状态。我曾尝试使用onBackPressed()来模拟此背压,但它也关闭了原始活动。我不知道为什么会发生这种情况,我的搜索活动是否因为某种原因而一直没有停止 以下是我的主要活动中的相关代码: @Override public boolea
onNewIntent()
和handleIntent()
在搜索的活动中使用我的搜索查询,而不是启动新活动,但搜索后,我的活动标题不会返回。取而代之的是一个带有后退按钮的图标,旁边是搜索图标,而不是它应该位于的右侧。当我按下“后退”按钮时,它会回到应该的状态。我曾尝试使用onBackPressed()
来模拟此背压,但它也关闭了原始活动。我不知道为什么会发生这种情况,我的搜索活动是否因为某种原因而一直没有停止
以下是我的主要活动中的相关代码:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.add, menu);
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
searchView = (SearchView) menu.findItem(R.id.action_search)
.getActionView();
ComponentName cn = new ComponentName(this, SearchActivity.class);
searchView.setSearchableInfo(searchManager.getSearchableInfo(cn));
searchView.setIconifiedByDefault(false);
searchView.setOnQueryTextFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean queryTextFocused) {
if(!queryTextFocused) {
searchView.onActionViewCollapsed();
searchView.setQuery("", false);
}
}
});
return true;
}
@Override
public void startActivity(Intent intent) {
// check if search intent
if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
onNewIntent(intent);
} else {
super.startActivity(intent);
}
}
@Override
protected void onNewIntent(Intent intent) {
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
setIntent(intent);
handleIntent(intent);
}
private void handleIntent(Intent intent) {
if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
String query = intent.getStringExtra(SearchManager.QUERY);
search(query);//this is my own method, performs search opeations
searchView.onActionViewCollapsed();
}
}
你能提供一些截图吗?我不认为截图是必要的,描述它的样子并不难,尽管也许我做得不够好。一旦我按下search,actionbar中就会出现一个小的默认应用程序图标(绿色android),左边有一个小的返回箭头。。。与任何时候都有一个活动要返回相同。它的右边是搜索图标(放大镜),没有活动标题。它的左角应该仍然有带箭头的应用程序图标,但它的右边应该有活动名称,右边应该有搜索图标。还有什么我应该描述的吗?那么你想关闭searchView吗?searchView被图标化了,问题是它似乎正在显示另一个活动,我猜是搜索活动,但该活动没有经过onCreate()方法,所以我不知道