2013-05-04 72 views
2

爲什麼在這裏對數線產量「真」?我剛剛添加了一個帶有「ID」標籤的片段!爲什麼片段管理器在這裏返回null?

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

是否存在延遲提交?如果是這樣,在提交完成後是否有任何事件可以聽取?

回答

2

public abstract int commit()

時間表提交本次交易的。立即不會發生提交 ;它將被安排在主線程上工作,在下一次線程準備就緒時完成 。

您可以嘗試在您的commit()之後和找到您的標記之前添加fragmentManager.executePendingTransactions()。