Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 프래그먼트
- T자형인재
- 테트리스
- 함수형 프로그래밍
- 자취필수템
- 캐치마인드
- 한달독서
- 소프시스
- 한달어스
- 커스텀린트
- 목적중심리더십
- 1일1커밋
- 한단어의힘
- 베드트레이
- 브런치작가되기
- 면접
- 목적 중심 리더십
- 베드테이블
- 어떻게 나답게 살 것인가
- 북한살둘레길
- 지지않는다는말
- 리얼하다
- 아비투스
- 재택근무
- 한달브런치북만들기
- 슬기로운 온라인 게임
- 끝말잇기
- 좌식테이블
- 안드로이드
- 소프시스 밤부 좌식 엑슬 테이블
Archives
- Today
- Total
정상에서 IT를 외치다
[Android, setUserVisibleHint] 뷰페이저에서 보인 화면만 데이터 받아오기 본문
반응형
안녕하세요 블랙진 입니다.
한국에서는 카카오톡 앱을 많이 사용하는데 이는 4개의 ViewPager 로 구성되어 있습니다.
그렇지만 다른 화면으로 스와이프 했을 때, 해당 화면이 보여지고 나서 데이터를 서버로 부터 받아오는 것을 확인 할 수 있습니다.
이렇게 해당 뷰가 보여졌을 때 반응 할 수 있게 도와주는 함수가 setUserVisibleHint 입니다.
ViewPager 설정할 AFragment 가 아래와 같이 있습니다.
class AFragment : Fragment() {
...
override fun setUserVisibleHint(isVisibleToUser: Boolean) {
super.setUserVisibleHint(isVisibleToUser)
Log.v("AFragment", "setUserVisibleHint $isVisibleToUser")
if(isVisibleToUser) {
//데이터 받아오기
}
}
}
이 때 해당 프레그먼트에서 setUserVisibleHint 를 override 할 수 있습니다.
이는 다른 화면이 보여지고 있을 때 false 값을 return 하고 해당 화면이 보여지면 true 값을 return 합니다.
이 값을 통해 내가 원하는 뷰가 ViewPager 상에 보여 줬을 때, 통신을 할 수 있도록 설정 할 수 있습니다.
반응형
'안드로이드' 카테고리의 다른 글
[Android, jetpack] Android Jetpack (0) | 2018.06.08 |
---|---|
[Android, TabLayout] 탭 레이아웃의 모든것! (2) | 2018.06.04 |
[Android, FragmentPagerAdapter] FragmentPagerAdapter 와 FragmentStatePagerAdapter 의 차이 (1) | 2018.06.04 |
[AndroidManifest] singleTask, noHistroy, parentActivityName 에 대해서 (0) | 2018.06.01 |
[Android, ConstraintLayout, Barrier] 3. ConstraintLayout 배리어 설정하기 (0) | 2018.05.18 |
Comments