티스토리 뷰

Android

Android fragmentManager getFragment

Gibson 김형섭 2016. 6. 22. 20:42


viewpager와 fragment를 사용하다보면 fragment를 가져와야하는 상황이 생기기 때문에


((MyFragment)fragmentManager.getFragments().get(index)).

이런 식으로 사용해왔으나.  가끔 casting에러가 발생하는것을 보고 fragment manager의 스택(index)이 가변적이라는 사실을 알게되었다.


오류가 발생 할 수도 있다는 말이다. 


해결하기 위해 

for(Fragment fragment : fragmentManager.getFragments()){
if(fragment instanceof MyFragment){
//
}
}


이런식으로 사용했으나.. 뭔가 굉장히 지저분하고 불필요한 반복문은 좋아하지 않기 때문에 다른방법을 찾았다.


fragmentManager.findFragmentByTag("android:switcher:" + 해당 page의 id + ":index")

fragmentManager.findFragmentByTag("android:switcher:" + R.id.pager + ":" + index)

이렇게 사용하면 된다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
링크
TAG
more
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함