이전에 안드로이드 프래그먼트값 전달 관련 내용 추가질문


프래그먼트 접근가능하게 해주는 함수

public Fragment findFragmentByPosition(int position) {
    return getSupportFragmentManager().findFragmentByTag(
            "android:switcher:" + viewPager.getId() + ":"
                    + (((FragmentPagerAdapter) viewPager.getAdapter()).getItemId(position)));
}

일단 이전에 답변 주신 한로니로니님께 감사드립니다. 이전에 알려 주신방법대로 프래그먼트간 값 전달하는것은 구현했으나, 어댑터가 FragmentPagerAdapter 를 사용할때만 getItemId(position)를 받아올 수 있어서 추가 질문들 부탁드리려고 합니다.

FragmentStatePagerAdapter 를 꼭 사용해야만 하는데 이것저것 변형하면서 해봐도 널값을 참조한다는 예외가 발생하면서 앱이 죽어버리네요..

프래그먼트간에 값 전달도 가능하면서, 앱이 구동중일때 서버에 값이 바뀌더라도 탭을 이동했다가 다시 돌아오면 화면에 뜬 정보들이 실시간 갱신이 이루어지게 하려고 하는 것이 저의 목적입니다.

긴 질문 읽어주셔서 감사합니다. 좋은하루 되시길..!


조회수 65


1 답변


좋아요
1
싫어요
채택취소하기

올려주신 코드는 FragmentPagerAdapter에서만 사용할 수 있는 일종의 트릭입니다. 아래 코드를 보면 FragmentPagerAdapter에서 태그를 생성하는 것을 볼 수 있고요.

그렇기 때문에 관련된 처리를 하지않는 FragmentStatePagerAdapter에서는 위 방법을 사용할 수 없습니다. FragmentStatePagerAdapter에서는 Map을 사용해서 직접 프래그먼트 인스턴스를 관리하는 방법을 적용해보세요.


  • 답변 감사합니다~ 알려주신 링크 참고하여 적용해보겠습니다.    JoonSangYoo   2016.10.18 08:27     

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close