Android(Kotlin)
[절대 잊지말자] Activity에서 transaction된 Fragment에 접근할때
E.I.T.U
2021. 6. 16. 14:03
이걸 해결 못해서 프로그램 구조부터 뜯어고쳤었는데
결국 이걸 해결해야만 하는 문제에 부딪혀서 찾아봤다
다들 activity에서 fragment의 함수를 호출할 땐
fragmentManager의 findfragmentbyid 혹은 findfragmentbytag로 찾아야 한다는 건 알 것이다
하지만 내 경우처럼 위의 findfragment가 null을 반환해서 전혀 접근하지 못하는 사람들이 많았을 텐데
android - GetFragmentManager.findFragmentByTag() returns null - Stack Overflow
GetFragmentManager.findFragmentByTag() returns null
getFragmentManager().beginTransaction() .replace(R.id.graph_fragment_holder, new GraphFragment(), "GRAPH_FRAGMENT") .commit(); getFragmentManager().
stackoverflow.com
이 포스트에서 결국 답을 찾아냈다
transaction.commit() 후에 fragmentManager.executePendingTransactions() 명령을 꼭 넣어줘야 한다
이때부터 findfragment가 정상적으로 프래그먼트를 반환하더라..
좀 더 일찍 알았으면 얼마나 좋았을까