Android 我如何知道片段事务已完成?

Android 我如何知道片段事务已完成?,android,android-fragments,fragmenttransaction,Android,Android Fragments,Fragmenttransaction,我想在一行中创建两个片段事务 Fragment1 fragment1 = new Fragment1(); FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); transaction.replace(R.id.fragment_container, fragment1); transaction.addToBackStack(null); transaction.commit();

我想在一行中创建两个片段事务

Fragment1 fragment1 = new Fragment1();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.fragment_container, fragment1);
transaction.addToBackStack(null);
transaction.commit();

Fragment2 fragment2 = new Fragment2();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.fragment_container, fragment2);
transaction.addToBackStack(null);
transaction.commit();
但是,如果我这样做,将出现一些并发问题。
有没有办法实现回调函数,以便在第一个事务完成后立即启动第二个事务?

您可以手动刷新队列,从而执行挂起的片段事务。您要找的电话是:

    FragmentManager fm = getSupportFragmentManager();
    FragmentTransaction ft = fm.beginTransaction();

    ft.replace(android.R.id.content, fragment, name).addToBackStack(null).commit();
    fm.executePendingTransactions();

通过调用
fm.executePendingTransactions()在继续之前强制执行所有挂起的操作。

将出现一些并发问题
——当然不应该出现。事务应该按照提交它们的相同顺序发生。