Получить данные из AlertDialog "себя" - PullRequest
0 голосов
/ 03 декабря 2018

Я сейчас пытаюсь открыть AlertDialog, где некоторые данные будут отображаться внутри него.

class AlertsDialogRemi : Fragment() {
    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
      return inflater.inflate(R.layout.alerts_dialog, container, false)
    }

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)

    val alerts = arrayOf("AlertsDialogRemi 1", "AlertsDialogRemi 2", "AlertsDialogRemi 3")
    for(alert in alerts){
        Log.i(TAG, "Alert : $alert")
    }}

И я вызываю его из этого (MainActivity):

fun showDialog(){
    mydialog = Dialog(this, R.style.DialogCustomTheme)

    mydialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
    mydialog.setContentView(R.layout.alerts_dialog_remi)

    mydialog.create()

    txt = mydialog.findViewById(R.id.close_modal_alerte)
    txt.isEnabled = true
    txt.setOnClickListener{
        mydialog.cancel()
    }
    mydialog.show()
}

КогдаЯ открываю фрагмент как настоящий фрагмент, я могу мои предупреждения.Но когда я открываю его как диалог, я не вижу оповещения (но у меня отображается макет)

Как я могу получить свои оповещения внутри моего AlertDialog (как диалог благодаря showDialog ())?

1 Ответ

0 голосов
/ 03 декабря 2018

Этот диалог не имеет ничего общего с классом AlertsDialogRemi.Объявите setOnShowListener для диалогового окна перед mydialog.show() и поместите код, который вы хотите выполнить, когда диалоговое окно отображается внутри лямбды:

mydialog.setOnShowListener {
    //write your code here
}

setOnShowListener public void setOnShowListener (слушатель DialogInterface.OnShowListener)Устанавливает слушателя, вызываемого при отображении диалогового окна.

...