2014-05-22 1 views
0

참고 매우 개의이 "중복"을 확인했지만 그 중 아무 것도 청구서에 맞지 않으므로 중복으로 표시하지 마십시오. . 그러나findFragmentByID()는 컨테이너 ID가 생성 된 직후 null을 반환합니다.

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    if (savedInstanceState == null) { 
     getSupportFragmentManager().beginTransaction() 
       .add(R.id.container, new PlaceholderFragment()) 
       .commit(); 
    } 

    Log.d("", "Found fragment: " + getSupportFragmentManager().findFragmentById(R.id.container)); 
} 

이 (추가 유일한 문이 Log 라인이다)처럼이 생성 된 후

나는 자리 표시 자 조각을 찾으려고 (안드로이드 Studio에서) 기본 마법사가 만든 응용 프로그램을 수정 로그는 인쇄 : 나는 문서의 AN 읽은에 따르면 널

:

찾을 조각 비슷한 질문에 대한 답이 있으면 효과가 있습니다. 무슨 일이야?

답변

2

조각 트랜잭션이 아직 실행되지 않았지만 나중에 실행되도록 예약되었습니다.

응용 프로그램 수명주기에서 super.onStart()을 기다리십시오. 참을성이 없다면 executePendingTransactions()으로 전화하십시오.

관련 문제