为什么片段管理器在这里返回null?

时间:2013-05-04 11:16:59

标签: android android-fragments

为什么log-line在这里产生“真实”?我刚刚添加了一个标签为“ID”的片段!

FragmentTransaction ftrans = getSupportFragmentManager().beginTransaction();
ftrans.add(0, new MyFrag(), "ID");
ftrans.commit();
Fragment frag =  getSupportFragmentManager().findFragmentByTag("ID");
Log.i("", "Fragment is null? " + (frag == null));

提交有延迟吗?如果是这样,提交完成后我可以监听任何事件吗?

1 个答案:

答案 0 :(得分:2)

  

public abstract int commit ()

     

计划此交易的提交。提交不会发生   立即;它将被安排为主线程上的工作   下次线程准备就绪时完成。

您可以尝试在commit()之后和找到标记之前添加fragmentManager.executePendingTransactions()。