2014-03-24 26 views
1

在我的应用程序中,我使用与搜索结果相同的活动(使用launchMode="singleTop")查询搜索结果。Android - 可供搜索的活动,交易必须向后按两次

在我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

我认为这个问题是活动被推回堆栈与片段一样,你已经使用transaction.addToBackStack(null);这将导致片段也有助于背堆栈,删除这条线应该解决您的问题。