kotlin изменить значение переменной внутри функции (SetOnClickListner) - PullRequest
0 голосов
/ 28 марта 2019

У меня есть две кнопки btn1 (scan_sac) и btn2 (scan_scelle) и два текстовых представления t1 (ed_idSac) и t2 (ed_scelle).Внутри onClickListner каждой кнопки я буду вызывать функцию, которая запускает камеру для считывания штрих-кода.Эта камера возвращает значение считанного штрих-кода в функции onActivityResult;И внутри этой функции (onActivityResult) я обновляю значение одного из двух текстовых представлений

. В соответствии с нажатой кнопкой я изменю значение соответствующего текстового представления:

  • Если btn1при нажатии t1 будет обновлен
  • при нажатии btn2 будет обновлен t2

Теперь я застрял при тестировании, какая кнопка нажата для обновления соответствующего textView.Я связался с использованием логического Scelle, чтобы проверить, какая кнопка нажата.Если scelle имеет значение true, тогда scan_scelle (btn2) нажимается

Ответы [ 4 ]

1 голос
/ 28 марта 2019
override fun onActivityResult(requestCode: Int, resultCode: Int, data:Intent)

Используйте код запроса дифференцирования при нажатии b1 & b2 ....

1 голос
/ 28 марта 2019

используйте разные requestCode для обеих кнопок в проверке onActivityResult метода requestCode и поместите свою строку в уважаемый textView

1 голос
/ 28 марта 2019
var buttonIdentity :false
val button1= findViewById<Button>(R.id.textview)
button1.setOnClickListener(clickListener)

val button2 = findViewById<Button>(R.id.button)
button2.setOnClickListener(clickListener)

val clickListener = View.OnClickListener {view ->

    when (view.getId()) {
        R.id.button1-> buttonIdentity =true
        R.id.button2 -> buttonIdentity  =false
    }
}
1 голос
/ 28 марта 2019

Так что, если я правильно понимаю, вы хотите знать, какая кнопка нажата, чтобы вы могли обновить правильное представление текста. Решением было бы иметь два логических значения для каждой кнопки, и при нажатии кнопки вы установите для этого логического значения значение true. Позже на ActivityResult вы можете проверить эти логические значения и обновить правильные текстовые представления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...