티스토리 뷰
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
'개발 > 안드로이드' 카테고리의 다른 글
리사이클러뷰 어댑터에서 컨텍스트(Context) 가져오기 (0) | 2023.01.30 |
---|---|
Android에서 visibility 변경시 애니메이션 적용하기 (0) | 2023.01.30 |
프래그먼트와 그것을 포함하는 액티비티 간에 데이터를 전달하는 방법 (0) | 2023.01.29 |
안드로이드 스튜디오에서 디버깅을 하려고 할 때 "Waiting For Debugger"에서 멈춰있는 경우 해결 방법 (0) | 2023.01.28 |
외부 디렉토리에 있는 이미지 파일 이미지 뷰로 불러오기 (0) | 2023.01.26 |