我有一个fragment
(我们称之为MyFragment)根据参数中传递的参数膨胀不同的布局。
如果MyFragment从不同的片段开始,则一切正常。但是,如果MyFragment处于活动状态并且我想使用不同的布局参数启动新的MyFragment,则fragmentManager
根本不会创建新的片段。
data.setInt("Layout index",i);
fragmentTab0 = (Fragment) new MyFragment();
fragmentTab0.setArguments(data);
fragmentTransaction.replace(R.id.fragmentContent, fragmentTab0, "MY");
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
如何强制说服fragmentTransaction
再次启动片段?
注意:这里的重点是我需要再次膨胀一个布局,这与之前膨胀的布局不同。代码如下所示:
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
switch( getArguments().getInt("Layout index") ) {
case 1:
rootView = inflater.inflate(R.layout.firstlayout, container, false);
break;
case 2:
rootView = inflater.inflate(R.layout.secondlayout, container, false);
break;
case 3:
rootView = inflater.inflate(R.layout.thirdlayout, container, false);
break;
default: break;
}