Java 片段之间的转换动画在重新打开片段后发生
我正在使用BottomNavigationBar并将片段与此一起切换。但是,只有在第二次显示相同片段后,动画才会开始工作。如果您不明白,请观看以下视频: onCreate(): 切换片段时:Java 片段之间的转换动画在重新打开片段后发生,java,android,android-studio,android-fragments,Java,Android,Android Studio,Android Fragments,我正在使用BottomNavigationBar并将片段与此一起切换。但是,只有在第二次显示相同片段后,动画才会开始工作。如果您不明白,请观看以下视频: onCreate(): 切换片段时: public boolean onNavigationItemSelected(@NonNull MenuItem item) { fm = getSupportFragmentManager().beginTransaction();
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
fm = getSupportFragmentManager().beginTransaction();
fm.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
switch (item.getItemId()) {
case R.id.main_room:
if (active != earn) {
fm.hide(active).show(earn);
active = earn;
}
break;
case R.id.refs_room:
if (active != refs) {
fm.hide(active).show(refs);
active = refs;
}
break;
case R.id.events_room:
if (active != events) {
fm.hide(active).show(events);
active = events;
}
break;
case R.id.settings_room:
if (active != settings) {
fm.hide(active).show(settings);
active = settings;
}
break;
}
fm.commit();
return true;
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
fm = getSupportFragmentManager().beginTransaction();
fm.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
switch (item.getItemId()) {
case R.id.main_room:
if (active != earn) {
fm.hide(active).show(earn);
active = earn;
}
break;
case R.id.refs_room:
if (active != refs) {
fm.hide(active).show(refs);
active = refs;
}
break;
case R.id.events_room:
if (active != events) {
fm.hide(active).show(events);
active = events;
}
break;
case R.id.settings_room:
if (active != settings) {
fm.hide(active).show(settings);
active = settings;
}
break;
}
fm.commit();
return true;