只显示一次DialogFragment

Add*_*dev 3 android android-fragments

我想在调用给定的回调时向用户显示DialogFragment.我的问题是,有时在同一时刻对侦听器进行多次调用,而fragmentmanager显示多个片段,我使用下面的代码

    if (getSupportFragmentManager().findFragmentByTag("testFragment") == null) {
        getSupportFragmentManager().beginTransaction()
                .add(new MyFragment(), "testFragment")
                .commit();
        Log.e("TAG", "Show! "+(getSupportFragmentManager()
                    .findFragmentByTag("testFragment") == null));
    } 
Run Code Online (Sandbox Code Playgroud)

正如最后一行中的Log消息所示,在提交FragmentTransaction之后,findFragmentByTag返回null的时间很短.那么,是否有某种方法可以确保只显示消息,而不是保存最后一次调用的mili-time,并忽略稍后的调用?

Mic*_*ley 10

getSupportFragmentManager().executePendingTransactions()在提交后立即调用应该强制片段管理器立即提交片段,以便后续调用findFragmentByTag("testFragment")不应再返回null.