2017-08-05 83 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

回答