2014-08-29 3 views
2

가로 뷰 페이지 안에 세로 뷰 페이지가 있습니다. Horzontal 뷰 페이지 I의 두 번째 조각에 세로 뷰 페이지를 추가합니다. 세로보기 페이지에는 이미지가 포함 된 조각이 포함되어 있으므로 조각이 사용자에게 표시 될 때 setUserVisibleHint에 사용 된 이미지의 애니메이션을 시작해야합니다. 그러나 가로 뷰 페이지의 두 번째 조각으로 이동하면 세로 뷰 페이지 안의 조각의 setUserVisibleHint가 호출되지 않습니다. 나는 모든 방법을 시도하고, 창조하고, 창조한다. 그러나 나를 위해 아무것도 작동하지 않는다. 나 여기 붙어있어, 이것 좀 도와주세요android의 중첩 된 뷰 페이지 문제

답변

3

옛 질문이지만, 나는 이걸 명중하고 나 같은 사람을 미래에 도울 수 있다고 생각했습니다. 내부 (내부) 뷰 파인더가 포함 된 (외부) 조각을 포함하는 외부 뷰 페이지가있을 때 문제가 발생합니다. 외부 프래그먼트 사이를 이동할 때 내부 뷰 페이지에 표시되는 현재 프래그먼트의 setUserVisibleHint는 호출되지 않습니다. FragmentStatePagerAdaptor를 사용하여 뷰 페이지를 제어하고 있습니다. 큰 근무

@Override 
public void setUserVisibleHint(boolean isVisible) { 
    super.setUserVisibleHint(isVisible); 
    if (mAdaptor != null) mAdaptor.setUserVisibleHint(isVisible); 
} 
+0

:

public class CustomPagerAdaptor extends FragmentStatePagerAdaptor { private Fragment primary; @Override public void setPrimaryItem(ViewGroup container, int position, Object object) { super.setPrimaryItem(container, position, object); primary = (Fragment)object; } public void setUserVisibleHint(boolean isVisible) { if (primary != null){ primary.setUserVisibleHint(isVisible); } } } 

그럼 외측 프래그먼트 통해 setUserVisibleHint 전달이 대

수정 프로그램 기본 단편을 노출하고 setUserVisibleHint 방법을 제공하는 FragmentStatePagerAdaptor 서브 클래스이다. 감사! – luca992