액티비티 간 데이터를 넘기는 방법 중 Intent를 이용하면 아래와 같은 패턴으로 데이터를 넘기게 된다.
val id = 00001 intent.putExtra("id", id)
val = intent.getIntExtra("id", 0)
만약 객체를 넘기고 싶다면? 할 것들이 많아진다 ^^
data class Item( val userName: String, val postTitle: String, var postId: Int, ) { companion object { val itemList = arrayListOf( MainPageItem( "neoneoneo", //userName "[Android] 액티비티 간 intent로 객체 전달하기", //postTitle "neo0001" //postId ) fun listData(): ArrayList<MainPageItem> { return itemList } }
- 이런식으로 companion object 안에 데이터를 담고, listData()로 해당 데이터를 반환해주게끔 작성할 수도 있다.
data class Item( val userName: String, val postTitle: String, var postId: Int, ) : Serializable { // <- here!! companion object { val itemList = arrayListOf( MainPageItem( "neoneoneo", //userName "[Android] 액티비티 간 intent로 객체 전달하기", //postTitle "neo0001" //postId ) fun listData(): ArrayList<MainPageItem> { return itemList } }
intent.putExtra("item", item)
var thisItem = intent.getSerializableExtra("item") as Item
- Serializable 형태의 데이터를 받아야 하므로 getSerializableExtra()를 사용한다.
[TIL-240405]