我为纵向和横向方向的片段实现了不同的布局。
我有一个带有3个标签的TabActivity,其中包含片段。
然后我实现了Fragment的onConfigurationChanged方法,在那里我删除当前的Fragment并读取它(让它膨胀正确的布局的唯一方法,对吗?)。
不幸的是,这似乎只适用于当前可见的片段。
实施例: 1)所有片段都用纵向布局初始化,一切都很好 2)我转向风景 3)可见碎片变化很好,加载了横向布局 4)当方向改变发生时不可见的两个碎片加载了它们的纵向布局
在所有三个片段上,都调用了onCreateView方法。
为什么隐形碎片表现出与可见碎片不同的任何想法?
这是我正在使用的代码:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
Log.d("PhotoFragment", "onConfigurationChanged");
FragmentTransaction transaction = getFragmentManager()
.beginTransaction();
transaction.remove(this);
transaction.add(R.id.fragment_container, new PhotoFragment(mPhoto));
transaction.addToBackStack(null);
transaction.commit();
getFragmentManager().popBackStack();
}