intent를 이용하여, 다른 액티비티에 데이터를 전달하는 상황이 올 경우가 있다.
배열을 넘겨줄 수도 있지만, 데이터 클래스를 이용하여 전달하는 방법이 있다.
parcelize 사용을 위해 plugins에 추가를 해준다.
plugins{
id "kotlin-parcelize"
}
그리고 전달하고자 하는 데이터 클래스를 정의할 때, 다음과 같이 정의를 해준다 (예시)
@Parcelize
data class NeighborLineData(
val line : String,
var left : String? = null,
val center : String,
var right : String? = null
) : Parcelable
전달은 다음과 같이 하면 된다.
val nlData = NeighborLineData(center = datas[adapterPosition].subwayStation, line = line)
intent.putExtra("neighbor", nlData)
데이터를 받는 쪽은 아래와 같다.
nlData = intent.getParcelableExtra("neighbor")!!
'안드로이드 > KOTLIN' 카테고리의 다른 글
[Kotlin] - 버전에 따라 다르게 갤러리에 사진 저장하기 (0) | 2023.09.13 |
---|---|
[Fragment] Bundle에 객체를 전달하기 (0) | 2023.03.23 |
Retrofit @Get, @Query 인코딩 문제 해결방법 (0) | 2023.02.01 |
[Jitpack] 사용하기 (0) | 2023.01.17 |
[ANDRIOID - KOTLIN] runOnUiThread - 작업 스레드에서 UI 업데이트 요청하기 (0) | 2022.09.30 |