【发布时间】:2021-05-27 09:01:59
【问题描述】:
我正在尝试使用意图将数据列表从片段传递到活动。从分片发送数据时,数据是存在的。但在活动中,它说数据为空。我不确定我传递数据的方式是否正确,或者有没有更好的方法将数据从片段传递到活动?
在片段中
private var selectedBankCard: Channels = Channels //get a list of data from BE
override fun onClick(view: View?) {
when (view?.id) {
R.id.bankcard_layout -> {
try {
if (activity != null) {
val intent =
Intent(context, BankCardListActivity::class.java)
if (selectedBankCard != null) {
intent.putExtra("BANKCARDINFORMATION", selectedBankCard) //upon debug, i can see a selectedBankCard is not null
}
startActivityForResult(intent, 10001)
}
} catch (e: Exception) {
}
}
}
}
}
活动中
class AutoReloadBankCardListActivity : BaseActivity() {
private lateinit var channels: Channels
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.bank_card)
if (intent == null) {
return
}
channels = intent.getSerializableExtra("BANKCARDINFORMATION") as Channels // upon debug, getSerializableExtra returns null
}
class Channels : Serializable {
var newCard = false
var disable = false
var disableCode: String = ""
var description: String = ""
var channelType: String = ""
var payBrands: List<String>? = null
var channelIndex: String = ""
var payToolType: String = ""
var selected = false
var payBrand: String = ""
var extendInfo: ExtendInfo? = null
var disableReason: String = ""
var icon: String = ""
var chargeIndex: String = ""
}
【问题讨论】: