У меня есть такой диалог
val buyDialog = Dialog(activity)
buyDialog.requestWindowFeature(Window.FEATURE_NO_TITLE) //the stacktrace points here
buyDialog.setContentView(R.layout.dialog_buy_items)
buyDialog.setTitle("Buy Items")
buyDialog.setCancelable(false)
buyDialog.window!!.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)
val buy_items_cancel = buyDialog.buy_items_cancel
showSoftKeyboard(buy_items_root, false)
showProgress(buy_items_progress, false)
buy_items_cancel.setOnClickListener {
buyDialog.cancel()
buyDialog.dismiss()
}
buyDialog.show()
Впервые работает нормально. Поэтому, когда я отменяю диалоговое окно, нажимая кнопку отмены, а затем снова открываю это диалоговое окно, я получаю сообщение об ошибке
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.zepling.nepsetrainer, PID: 27676
android.util.AndroidRuntimeException: requestFeature() must be called before adding content
at com.android.internal.policy.PhoneWindow.requestFeature(PhoneWindow.java:343)
Я вызываю этот диалог из другого AlertDialog, как это
val builder = activity?.let { AlertDialog.Builder(it) }
builder?.setTitle("Buy Items")
builder?.setMessage("Do you want to buy available items?")
builder?.setPositiveButton("YES") { dialog, _ ->
showBuyItemsDialog()
}
builder?.setNegativeButton("No") { dialog, _ ->
dialog.dismiss()
}
val alertDialog: AlertDialog = builder!!.create()
alertDialog.show()
Ошибка указывает на buyDialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
Что я делаю не так? Любая помощь будет оценена. Спасибо