일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Android
- emount
- Kodak
- film
- gradle
- himatic7s2
- Sony
- fullframe
- 미놀타
- Git
- 필름카메라
- Minolta
- 니콘
- COLORPLUS
- himatic7sii
- rx
- portra400
- e마운트
- 풀프레임
- variants
- Exception
- Realm
- Nikon
- fm2
- Flavor
- It
- himatic
- SSL
- 35mmf2.8
- 하이매틱
- Today
- Total
BloByJames
ViewPager와 Fragment 사용하기 (Fragment 함수 호출) 본문
제일 많이 듣게 되는 질문 중 하나인,
ViewPager와 Fragment를 이용한 구조에서
특정 Fragment의 함수를 호출하는 방법을 소개하려 합니다.
(source 이해를 돕기 위해 아무런 library를 사용하지 않았습니다.)
사실 추상화(abstract)와 상속(extend)을 이용한다면 크게 어렵지 않습니다.
물론, 추상화와 상속 없이도, 각 Fragment에 접근할 수 있는 방법은 많습니다.
저는 추상화를 좋아하기 때문에, 추상화를 이용한 방법으로 진행하도록 하겠습니다.
우선 ViewPager를 사용 할 Activity를 만들어보겠습니다.
자, Java와 Android에 익숙한 분들은 벌써 눈치 채셨죠?
Fragment를 상속받은 BaseFragment라는 추상(abstract) Class를 만들고,
그 안에는 change라는 추상 Method를 두었습니다.
change()는 Button이 click 될 때 호출됩니다.
ViewPager에서 사용 될 각각의 Fragment는 BaseFragment를 상속받아서,
abstract void change() 함수를 구현했습니다.
BaseFragment를 우선 보여드리겠습니다.
중요한 것은 이것입니다.
public abstract void change();
그럼, BaseFragment를 상속받은 Fragment는 추상 Method를 어떻게 구현했는지 볼까요?
예상하셨겠지만, change()를 실제로 구현한 것 외에는 특별한게 없습니다.
복잡하고 어려운 방법이 아니라서 딱히 더 설명할 것이 없네요.
사용된 예제는 FragmentPagerAdapter-Example에서 확인하실 수 있습니다.
감사합니다.
'프로그래밍 > 안드로이드' 카테고리의 다른 글
날 미치게 하는 Exception: io.realm.exceptions.RealmError: Unrecoverable error. (0) | 2016.11.08 |
---|---|
Gradle Flavor 그리고 google-services.json (0) | 2016.10.21 |
Gradle Flavor 그리고 apk build (0) | 2016.10.08 |
RxJava로 EventBus, Otto를 대체해보자 (0) | 2016.09.24 |
날 미치게 하는 Exception: Invalid format of Realm file. (0) | 2016.09.21 |