2013-05-04 3 views
2

왜 여기서 로그 라인 출력이 "true"입니까? 방금 태그 "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()

일정은이 트랜잭션의 커밋합니다. 커밋되지 않습니다 즉시 ; 다음 스레드가 준비되면 이 될 주 스레드의 작업으로 예약됩니다.

commitManager.executePendingTransactions()를 추가하고 태그를 찾기 전에 fragmentManager.executePendingTransactions()를 추가 할 수 있습니다.

관련 문제