Android - 可搜索的活动,交易必须按两次

时间:2014-03-24 20:32:29

标签: android search

在我的应用中,我对查询搜索结果的搜索结果使用相同的活动(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();
    }
}

问题是我必须按两次按钮才能反转交易(或操作栏上的向上按钮,然后是设备的后退按钮)。这是为什么?如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我认为问题是当你使用transaction.addToBackStack(null)时,活动被推回到堆栈以及片段。这将导致片段也有助于后台堆栈,删除此行应解决您的问题。