2016-06-26 1 views
0

3 페이지 또는 탭이있는 ViewPager가 있습니다.Viewpager - 다음 페이지의 args를 업데이트하는 방법

첫 번째 탭에는 목록보기가있는 조각이 있습니다. 그 listview는 성경의 책을 포함합니다.

두 번째 탭에는 이전에 선택한 책의 장이 포함 된 TableLayout이있는 조각이 있습니다.

선택한 탭의 구절을 가져 오는 마지막 탭과 동일합니다.

내 문제는 : 장 목록 내가 그것을 선택하면 책에 해당하지 않는 보여 있도록

FragmentPagerAdapter는 처음에 탭 1과 탭 2를로드합니다.

책을 선택할 때 조각 업데이트 방법은 어떻게됩니까? 대한

감사하고 미안 내 영어

+0

ViewPager 대신 Master/Detail보기가 필요합니다. –

+0

달성하려는 것은 하나의 추가 Fragment가있는이 예제입니다. https://developer.android.com/training/basics/fragments/communicating.html –

답변

0

당신은 당신의 장 조각에 setUserVisibleHint 방법을 오버라이드 (override)하는 필요가있다.

@Override 
public void setUserVisibleHint(boolean isVisibleToUser) { 
    super.setUserVisibleHint(isVisibleToUser); 
    if (isVisibleToUser) { 
    //do your task here 
    } 
} 

이 방법은 단편이 사용자에게 표시 될 때만 호출됩니다.

+0

그런 다음 해당 책을 업데이트하고 조각보기를 업데이트하는 방법은 무엇입니까? 왜냐하면 onCreateView와 onViewCreated에서 뷰를 설정했기 때문입니다. S –

+0

일단 뷰를 설정한다고해서 업데이트 할 수 없다는 것을 의미하지는 않습니다. 첫 번째 조각에 따라 두 번째 조각에서보기를 동적으로 설정하므로 onCreateView() 메서드에서보기를 정의하고 setUserVisibleHint()에서 업데이트 할 수 있습니다. –

+0

onCreateView에서 내 TableLayout을 제거하고이를 setUserVisibleHint에 넣으므로 해당 탭을 볼 때 내용을 작성해야합니다. 그렇지 않으면 내용이 두 번 설정됩니다. 힌트를 가져 주셔서 감사합니다! –

관련 문제