Получить объект из диалогового окна предупреждения в Kotlin - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть диалоговое окно с предупреждением, наполненное тремя текстовыми представлениями, чтобы получить пользовательский ввод для создания объекта и помещения его в массив списков. Однако я не могу поставить указанный объект в состояние тревоги.

Я нашел ответы на переполнение стека, которые могут быть полезны. Но все они сделаны для Java кода, и я не могу адаптировать его к Kotlin.

Заранее спасибо

class MainActivity : AppCompatActivity() {

    lateinit var monsters: ArrayList<Mob>

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        fabAddMob.setOnClickListener {
            var tmpMob: Mob

            val addMobDialog = AlertDialog.Builder(this)
            val inflater = layoutInflater
            val dialogLayout = inflater.inflate(R.layout.alert_dialog_add_mob, null)
            with(addMobDialog) {
                setTitle("Monster hinzufügen")
                setView(dialogLayout)
                setNegativeButton("Abbrechen") { _: DialogInterface, _: Int -> }
                setPositiveButton("Hinzufügen") { _: DialogInterface,
                    _: Int -> tmpMob = Mob(
                        dialogLayout.findViewById<EditText>(R.id.tvName).text.toString(),
                        dialogLayout.findViewById<EditText>(R.id.tvHealth).text.toString().toInt(),
                        dialogLayout.findViewById<EditText>(R.id.tvArmor).text.toString().toInt()
                    )
                }
            }
            monsters.add(tmpMob) //FIXME get Mob from Popup
        }
    }
}
...