반응형
Fragment 내에서 ViewPager 탭 변경 감지
나는이 ViewPager
여러 조각으로. 하나에서는 Fragment
오디오를 재생합니다. 다른 조각으로 스 와이프하면 오디오 재생을 중지하고 싶습니다. 이제 다른 조각이에서 보이는지 어떻게 감지 ViewPager
합니까?
재정의 onStop
및 onHiddenChanged
. 성공하지 못했습니다. 재정의하려면 "더 이상 활동하지 않음"메서드가 있어야합니다. 아니?
나는 약간의 파고를했고 ViewPager는 둘 다 호출 할 것입니다 : setUserVisibleHint
및 setMenuVisibility
. setUserVisibleHint에setUserVisibleHint
대한 설명서가 다음과 같이 설명 했기 때문에 재정의 합니다 .
이 조각의 UI가 현재 사용자에게 표시되는지 여부에 대한 힌트를 시스템에 설정합니다. 이 힌트의 기본값은 true이며 조각 인스턴스 상태 저장 및 복원에서 지속됩니다. 앱은이를 false로 설정하여 프래그먼트의 UI가 표시되지 않거나 사용자에게 직접 표시되지 않음을 나타낼 수 있습니다. 이는 시스템에서 조각 수명주기 업데이트 또는 로더 순서 지정 동작과 같은 작업의 우선 순위를 지정하는 데 사용할 수 있습니다.
이 코드를 조각에 넣으십시오.
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
// Make sure that we are currently visible
if (this.isVisible()) {
// If we are becoming invisible, then...
if (!isVisibleToUser) {
Log.d("MyFragment", "Not visible anymore. Stopping audio.");
// TODO stop audio playback
}
}
}
참고 URL : https://stackoverflow.com/questions/9779397/detect-viewpager-tab-change-inside-fragment
반응형
'developer tip' 카테고리의 다른 글
관리 Bean에서보기 및 요청 범위의 차이점 (0) | 2020.11.17 |
---|---|
번역과 함께 메모리를 복사하는 빠른 방법-ARGB에서 BGR로 (0) | 2020.11.17 |
Android : 2MB 여유 힙이있는 400KB 파일의 BitmapFactory.decodeStream () 메모리 부족 (0) | 2020.11.17 |
std :: __ cxx11 :: string을 std :: string으로 변환 (0) | 2020.11.17 |
Visual Studio에서 푸시되지 않은 나가는 커밋을 제거하는 방법은 무엇입니까? (0) | 2020.11.17 |