如何从活动中调用非活动类中的方法



我有一个类,它显示BottomSheetDialog,点击打开CustomisationActivity 按钮

class InfoDialog(private val activity: Activity) {
private var bottomSheetDialog: BottomSheetDialog? = null
fun show() {
val view = LayoutInflater.from(activity).inflate(R.layout.info_dialog, null)
view.find<Button>(R.id.accept).setOnClickListener {
dismissDialog()
}
view.find<Button>(R.id.customize).setOnClickListener {
activity.startModal<CustomisationActivity>()
}
bottomSheetDialog = BottomSheetDialog(activity).apply {
setContentView(view)
setCancelable(false)
show()
}
}
private fun dismissDialog() {
bottomSheetDialog?.dismiss()
bottomSheetDialog = null
}
fun closeDialog() {
dismissDialog()
}
}

当用户单击布局"活动"中的按钮时,我需要从CustomisationActivity调用方法closeDialog(((在BottomSheetDialog中(。

能帮我做那个吗?

非常感谢

Bomatch

您应该能够使用startActivityForResult()启动CustomisationActivity。当CustomisationActivity完成时,将在原始Activity(启动Dialog(中调用onActivityResult()。然后,您应该能够从那里调用Dialog上的dismiss()

最新更新