티스토리 뷰
반응형
SMALL
반응형
맨날 까먹어서 기록,
Fragment 로 데이터를 전달 할때 Bundle 을 사용한다.
2024.02.28 - [Android/Etc] - [ Etc #15 ] Bundle vs Intent
FragmentMain().apply {
arguments = Bundle().apply {
putInt("int", 2)
putString("string", "22")
putBoolean("boolean", false)
putSerializable("list", tabList as ArrayList)
}
}
보낼 때 ( 저장할 때 )
arguments?.run {
val num = getInt("int") ?: 0
val string = getString("string") ?: ""
val boolean = getBoolean("boolean") ?: false
val list = bundleSerializable("list", ArrayList::class.java) as? ArrayList<TabData> ?: arrayListOf()
}
받을 때 ( 저장한거 뽑아올 때 )
getSerializable
이 하위 버전에서 Deprecated 되었기 때문에 분기 처리를 해주는 함수로 하나 만들어서 사용 한다
fun <T: Serializable> Bundle.bundleSerializable(key: String, clazz: Class<T>): T? {
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
this.getSerializable(key, clazz)
} else {
this.getSerializable(key) as T?
}
}
참고로 list나 특정 object 를 전달 할 때에는 해당 class 가 Serializable 를 상속 받고 있어야 한다
data class TabData(
val name: String,
val isNative: Boolean,
val url: String? = null,
): Serializable
반응형
LIST
'Android > Fragment' 카테고리의 다른 글
[ Fragment #1 ] Fragment Lifecycle (1) | 2022.09.19 |
---|
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 쏘렌토 하이브리드
- 폰과 워치 페어링
- 프래그먼트 데이터 저장
- 맥 전용
- flutter web
- 역시 키크론이네
- Foldable Event
- 폴더블 이벤트 받기
- 랜덤컬러
- 안드로이드 플립 대응
- RandomColor
- Dot indicator
- aos img url bitmap
- 갤럭시 워치
- Android Wear Os
- widget glide
- 가중치랜덤
- 쏘렌토 하이브리드 시그니처
- widget 이미지 로딩
- Android
- wear os
- widget 만들기
- 풀배열 키보드
- android widget 만들기
- Fragment data
- widget onreceive
- 폴더블 상태 유지
- 웨어러블
- 안드로이드 폴드 대응
- widget onupdate
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함