Как использовать пользовательский диалог в котлине - PullRequest
0 голосов
/ 28 октября 2019

У меня есть этот небольшой класс, который я хочу использовать, чтобы показать и закрыть мой диалог, мой ответ по модификации загружает список элементов

class ShowProgress(context: Context) : Dialog(context) {

var dialog = Dialog(context)

fun showDialog() {
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
    dialog.setCancelable(false)
    dialog.setContentView(R.layout.progress_layout)
    dialog.show()
}

fun closeDialog() {
    dialog.dismiss()
}
}

Я получаю диалог, чтобы показать, но он не будет отклонен ()когда ответ будет завершен. В чем конкретно проблема?

1 Ответ

1 голос
/ 28 октября 2019

Таким образом вы можете показывать и отклонять пользовательское всплывающее окно;

class ShowProgress(context: Context) : Dialog(context) {
 var dialog: Dialog? = null

 init{
    dialog = Dialog(context)
 }
    fun showPopup(){

        val dialogview = LayoutInflater.from(context)
            .inflate(R.layout.your_layout_name, null, false)
        //initializing dialog screen

        dialog.window.setBackgroundDrawableResource= android.R.color.transparent
        dialog.setCancelable(false)
        dialog.setContentView(dialogview)
        dialog.window!!.attributes.windowAnimations = R.style.DialogTransition
        dialog.show()

    }

    fun dismissPopup() = dialog.?let{dialog.dismiss()}

}

, и из вида вы можете получить к нему доступ следующим образом.

val showProgress = ShowProgress(this)
showProgress.showPopup()
\\ and dismiss it whenever you want to with same object of showProgress class
\\ with showProgress.dismissPopup()

...