如何移动到动画端的另一个片段

问题描述 投票:0回答:1

在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();
    }
java android
1个回答
0
投票

您可以尝试在UI线程上运行它,因为它可能是一个线程问题。

    @Override
    public void onAnimationEnd(Animation animation) {
        getActivity().runOnUiThread(new Runnable() {
               @Override
               public void run() {
                   loadFragment(new RegisterFragment(), getActivity());
               }
        });
    }
© www.soinside.com 2019 - 2024. All rights reserved.