2015-10-18 54 views
0

我不知道該怎麼做。我的應用程序的總體佈局是一切都包含在一個單一的活動。在此活動中加載主片段。該主要片段具有可以過濾結果的搜索視圖。通過單擊主片段中的項目,另一個輔助片段將作爲對話框加載。在任何時候,用戶都可以點擊一個鏈接,將另一個主片段添加到堆棧中。我的問題是,當用戶按下向上移動後臺時,searchview將優先於次要片段並刪除用戶過濾的數據。使用非片段元素管理後臺堆棧順序

這裏是理想的東西我要爲我堆棧中爲了

Activity -> primary Fragment -> searchview filter -> secondary fragments * X -> primary fragment -> repeat 

這裏是位於活動我目前的堆棧中爲了

Activity -> primary fragment -> secondary fragments * X -> searchview filter -> primary fragment -> repeat 

當前onBackPressed()。

@Override 
public void onBackPressed(){ 
    if(getFragmentManager().getBackStackEntryCount() > 0) { 
     getFragmentManager().popBackStack(); 
    } else { 
     this.finish(); 
    } 
} 

回答

0

如果要保留篩選的搜索結果,請覆蓋onSaveInstanceState()並保存篩選器約束。在onCreateView()覆蓋中,您檢查savedInstanceState是否爲空,如果是,則從中獲取過濾器約束並重新過濾結果。