提问人:Kaita John 提问时间:6/9/2020 最后编辑:Kaita John 更新时间:6/10/2020 访问量:48
启动新 Intent 时的 intent 状态附加功能
State of intent extras when launching new Intent
问:
我有一个主要活动 A 和一个不同的活动 B,我在 B 上执行操作并在附加功能中将 arrayList 返回给主活动 A。然后,我在 A 上启动一个 Filepicker 意图。通过启动 Filepicker 意图,数组列表是否因为 null 而额外?
anotherRow 是 ArrayList。
活动 B
val intent = Intent(this, MainActivity::class.java)
val bundle = Bundle()
bundle.putSerializable(Constants.sendAdditionalRowsBack, anotherRow)
intent.putExtras(bundle)
startActivity(intent)
finish()
主要活动
val bundle: Bundle? = intent.extras
//The below will be done only if bundle is not null
if (bundle != null) {
returnedArray = bundle?.getSerializable(Constants.sendAdditionalRowsBack) as ArrayList<bring>
}else{
runOnUiThread {
activity?.makeLongToast("Bundle is null")
}
}
答:
0赞
Kaita John
6/10/2020
#1
这是最终奏效的
活动 B(发送)
// intialize Bundle instance
val b = Bundle()
b.putSerializable("questions", anotherRow as Serializable?)
val i = Intent(this, OneMainActivity::class.java)
i.putExtras(b)
startActivity(i)
finish()
活动 A(接收)
//get the bundle
if (activity?.getIntent()?.extras != null) {
val b = activity?.getIntent()?.extras
if (b?.getSerializable("questions") as ArrayList<bring> != null) {
returnedArray = (b!!.getSerializable("questions") as ArrayList<bring>?)!!
} else {
runOnUiThread {
activity?.makeLongToast("An error occured")
}
}
} else {
runOnUiThread {
//activity?.makeLongToast("An internal error occured")
}
}
评论
MainActivity
ActivityB
startActivityForResult()
MainActivity.onActivityResult()
MainActivity
ActivityB
MainActivity
launchMode="singleTop"