티스토리 뷰

반응형

Stack Overflow에 자주 검색, 등록되는 문제들과 제가 개발 중 찾아 본 문제들 중에서 나중에도 찾아 볼 것 같은 문제들을 정리하고 있습니다.

Stack Overflow에서 가장 먼저 확인하게 되는 가장 높은 점수를 받은 Solution과 현 시점에 도움이 될 수 있는 가장 최근에 업데이트(최소 점수 확보)된 Solution을 각각 정리하였습니다.

 

아래 word cloud를 통해 이번 포스팅의 주요 키워드를 미리 확인하세요.

Android Fragment no view found for ID?

Android Fragment에서 'no view found for ID' 오류 수정하기

 문제 내용 

I have a fragment I am trying to add into a view.

저는 뷰에 추가하려는 프래그먼트가 있습니다.
FragmentManager fragMgr=getSupportFragmentManager();
feed_parser_activity content = (feed_parser_activity)fragMgr
                                    .findFragmentById(R.id.feedContentContainer);
FragmentTransaction xaction=fragMgr.beginTransaction();

if (content == null || content.isRemoving()) {
    content=new feed_parser_activity(item.getLink().toString());
    xaction
        .add(R.id.feedContentContainer, content)
        .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
        .addToBackStack(null)
        .commit();
    Log.e("Abstract", "DONE");
}

 

When this code is executed I get the following error in debug..

이 코드를 실행하면 디버그에서 다음과 같은 오류가 발생합니다.
java.lang.IllegalArgumentException: No view found for id 0x7f080011 
   for fragment feed_parser_activity{41882f50 #2 id=0x7f080011}

 

feed_parser_activity is a Fragment that is set to Fragment layout in xml.
I am using a FragmentActivity to host the Fragment Layout holding the feed_parser_layout.
Am I coding this correctly above?

feed_parser_activity는 xml에서 Fragment 레이아웃으로 설정된 Fragment입니다. 저는 feed_parser_layout을 보유한 Fragment Layout을 호스팅하는 데 FragmentActivity를 사용하고 있습니다.
제가 올바르게 코딩하고 있나요?

 

 

 

 높은 점수를 받은 Solution 

I was having this problem too, until I realized that I had specified the wrong layout in setContentView() of the onCreate() method of the FragmentActivity.

저도 이 문제를 겪었었는데, FragmentActivity의 onCreate() 메소드에서 setContentView()에 잘못된 레이아웃을 지정했다는 것을 깨달았습니다.

 

The id passed into FragmentTransaction.add(), in your case R.id.feedContentContainer, must be a child of the layout specified in setContentView().

FragmentTransaction.add()에 전달된 ID(R.id.feedContentContainer)는 setContentView()에서 지정된 레이아웃의 자식이어야 합니다.

 

You didn't show us your onCreate() method, so perhaps this is the same problem.

onCreate() 메소드를 보여주지 않으셔서, 아마도 동일한 문제일 것입니다.

 

 

 

 가장 최근 달린 Solution 

I use View Binding in my project and was inattentive to add setContentView() after inflating ActivityHelloWorldBinding class:

제 프로젝트에서 View Binding을 사용하고 있으며 ActivityHelloWorldBinding 클래스를 inflate 한 후 setContentView()를 추가하는데 부주의했습니다.
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    binding = ActivityHelloWorldBinding.inflate(layoutInflater)

    // Add this line.
    setContentView(binding.root)
}

 

 

출처 : https://stackoverflow.com/questions/7508044/android-fragment-no-view-found-for-id

반응형
댓글
공지사항
최근에 올라온 글