在我的应用中,我对查询搜索结果的搜索结果使用相同的活动(launchMode="singleTop"
)。
在我的handleIntent()
我展示搜索结果片段:
private void handleIntent(Intent intent) {
if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
String query = intent.getStringExtra(SearchManager.QUERY);
SearchResultsFragment searchFrag = new SearchResultsFragment();
searchFrag.setQuery(query);
searchFrag.update();
transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.pager, searchFrag);
transaction.addToBackStack(null);
transaction.commit();
}
}
问题是我必须按两次按钮才能反转交易(或操作栏上的向上按钮,然后是设备的后退按钮)。这是为什么?如何解决这个问题?
答案 0 :(得分:0)
我认为问题是当你使用transaction.addToBackStack(null)时,活动被推回到堆栈以及片段。这将导致片段也有助于后台堆栈,删除此行应解决您的问题。