2017-08-05 86 views
0

在我的應用程序中,我有一個單獨的Activity和多個Fragments。從我的MainActivity,我添加了我的第一個Fragment。從基於物品點擊的第一個Fragment適配器裏面,我添加第二個Fragment。並從第二個Activity基於項目點擊的適配器,我添加第三個Fragment如何處理單個活動和多個片段的方向變化

一切運作良好,但在方向變化,應用程序崩潰。

代碼:

MainActivity:

if (savedInstanceState == null) { 
    mHomeScreenFragment = (HomeScreenFragment) getSupportFragmentManager().findFragmentById(R.id.contentFrame); 
    if (mHomeScreenFragment == null) { 
     mHomeScreenFragment = HomeScreenFragment.newInstance(); 
    } 
    ActivityUtils.addFragmentToActivity(getSupportFragmentManager(), mHomeScreenFragment, R.id.contentFrame, "HomeScreen"); 
} 

1片段適配器 - 對項目點擊:

FoodListFragment foodListFragment = null; 
if (foodListFragment == null) { 
    foodListFragment = foodListFragment.newInstance(position); 
    ActivityUtils.replaceFragmentToActivity(((MainActivity) view.getContext()).getSupportFragmentManager(), 
           foodListFragment, R.id.contentFrame, "FoodList"); 

}

第二Fragment適配器 - 對項目點擊:

FoodDetailsFragment foodDetailsFragment = null;//(FoodDetailsFragment) ((MainActivity)view.getContext()).getSupportFragmentManager().findFragmentByTag("FoodDetails"); 
if (foodDetailsFragment == null) { 
    foodDetailsFragment = foodDetailsFragment.newInstance(foodListData.getUrl(), 
                  foodListData.getName(), 
                  foodListData.getSalePrice().getAmount(), 
                  foodListData.getSalePrice().getCurrency()); 
} 
ActivityUtils.replaceFragmentToActivity(((MainActivity)view.getContext()).getSupportFragmentManager(), foodDetailsFragment, R.id.contentFrame, "FoodDetails"); 

有些人可以幫助我告訴如何在1 Activity和多個Fragments的情況下正確處理方向變化?

我幾乎嘗試了所有StackOverflow和其他地方的解決方案,似乎沒有任何工作。

+1

請上傳衝突日誌 – redAllocator

回答