Как вызвать метод в классе неактивности из деятельности - PullRequest
0 голосов
/ 01 апреля 2020

У меня есть класс, который отображает 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

1 Ответ

0 голосов
/ 02 апреля 2020

Вы можете запустить CustomisationActivity, используя startActivityForResult(). Когда CustomisationActivity будет завершен, onActivityResult() будет вызван в исходном Activity (который запустил Dialog). После этого вы сможете набрать dismiss() на Dialog.

...