【发布时间】:2020-10-05 18:03:28
【问题描述】:
我的目标是使用广播接收器将 Activity B 的参数传递给 Activity A,效果很好。但是当我尝试从广播接收器更改 Activity A 中的 Fragment 时,它显示“在 onSaveInstanceState 之后无法执行此操作”
这是我的代码:
活动 B
val myintentdata = Intent("message_subject_intent")
myintentdata.putExtra("imagefile", file.path)
LocalBroadcastManager.getInstance(this@IdentitasActivity).sendBroadcast(myintentdata)
finish()
活动 A
val mMessageReceiver: BroadcastReceiver = object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent) {
if(intent.hasExtra("penghuni")){
val name = intent.getStringExtra("penghuni")
Toast.makeText(this@NeinActivity, name, Toast.LENGTH_SHORT).show()
}else if(intent.hasExtra("imagefile")){
val name = intent.getStringExtra("imagefile")
Toast.makeText(this@NeinActivity, name, Toast.LENGTH_SHORT).show()
Glide.with(this@NeinActivity).load(name).into(identitas)
supportFragmentManager.beginTransaction().replace(R.id.frame_layout, FragmentSelesai()).commit();
}
}
}
LocalBroadcastManager.getInstance(this)
.registerReceiver(mMessageReceiver, IntentFilter("message_subject_intent"))
所有帮助对我来说意义重大。
【问题讨论】:
-
请不要发布代码、XML 或日志的屏幕截图。请将所有文本作为文本发布。
-
好的,我会发布它。
标签: android-studio android-fragments kotlin broadcastreceiver