在MainActivity的onCreate方法中,我们使用以下方法加载SplashFragment:
loadFragment(new SplashFragment(), this);
2-然后在SplashFragment的onViewCreated方法中我们有一个动画。我们希望在动画结束后使用以下内容移动到RegisterFragment:
@Override
public void onAnimationEnd(Animation animation) {
loadFragment(new RegisterFragment(), getActivity());
}
1,作品
2 - 不行!
为什么?!我们怎么解决呢?
注意:您的加载Fragment方法放在适配器类中:
public static void loadFragment(Fragment fragment, Context context) {
FragmentTransaction transaction = ((FragmentActivity)context).getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.frame_container, fragment);
transaction.addToBackStack(null);
transaction.commit();
}
您可以尝试在UI线程上运行它,因为它可能是一个线程问题。
@Override
public void onAnimationEnd(Animation animation) {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
loadFragment(new RegisterFragment(), getActivity());
}
});
}