我的活动中有3个片段。我打算隐藏2并显示1.下面是有效的代码。
getFragmentManager().beginTransaction().setCustomAnimations(android.R.animator
.fade_in, android.R.animator.fade_out).show(fragment1)
.hide(fragment2).hide(fragment3).commit();
由于我不想要动画,我会从链中删除setCustomAnimations
,如下所示。
getFragmentManager().beginTransaction().show(fragment1)
.hide(fragment2).hide(fragment3).commit();
然而,在删除它之后,现在不再显示片段,即片段1也未显示。我们真的需要setCustomAnimations
才能工作吗?
答案 0 :(得分:0)
假设您的片段类是A,B,C。尝试这样的事情:
void switchFragment(int fragmentId){
getFragmentManager().beginTransaction()
.replace(R.id.placeHolder, getFragment(fragmentId))
.setCustomAnimations(...)
.commit();
}
Fragment getFragment(int id){
return id==1? A.newInstance() : id==2 ?
B.newInstance() : C.newInstance();
}