我在ViewModel中有一个liveData
,该对象返回对象列表(mChannelList: MutableLiveData<List<Channels>> = MutableLiveData()
)。我想使用putExtra
的Intent
将此列表发送到另一个活动。我在下面编写代码,但是当代码传入startActivity
时,请勿转到新活动(MainActivity
)。
我将对象列表正确地放在Intent
中了吗?
SplashScreenActivity.kt
(...)
splashScreenViewModel.getList()?.observe(this, Observer { it : List<Channels> ->
println("*********************** ${it}")
val intent = Intent(this, MainActivity::class.java)
intent.putExtra("EXTRA_PEOPLE", ArrayList(it))
startActivity(intent)
})
数据类:
data class Channels (
var Id: Int?,
var Title: String?,
var CallLetter: String?,
var ChannelPosition: Int?
)
MainActivity.kt
(...)
val bundle = intent.extras
val arr = this.intent.getParcelableArrayListExtra<Parcelable>("EXTRA_PEOPLE")
println("a lista : ${arr[0]}")
观察者无法在您的ViewModel类中接收新数据。
@Parcelize
data class Channels (
var Id: Int?,
var Title: String?,
var CallLetter: String?,
var ChannelPosition: Int?
) : Parcelable