#android #kotlin
#Android #kotlin
Вопрос:
У меня есть две кнопки btn1 (scan_sac) и btn2 (scan_scelle) и два текстовых представления t1 (ed_idSac) и t2 (ed_scelle). Внутри onClickListner каждой кнопки я вызову функцию, которая запускает камеру для считывания штрих-кода. Эта камера возвращает значение штрих-кода, считанного в функции onActivityResu< И внутри этой функции (onActivityResult) Я обновляю значение одного из двух TextViews
В соответствии с нажатой кнопкой я изменю значение соответствующего textview :
- Если щелкнуть btn1, t1 будет обновлен
- если щелкнуть btn2, t2 будет обновлен
Теперь я застрял при тестировании, какая кнопка нажата для обновления соответствующего TextView. Я привязан к использованию логической строки, чтобы проверить, какая кнопка нажата. Если значение scelle равно true, то выбирается scan_scelle (btn2)
Комментарии:
1. В чем ваш вопрос? Если вы не предоставите какой-либо код, вам будет трудно помочь
Ответ №1:
override fun onActivityResult(requestCode: Int, resultCode: Int, data:Intent)
Используйте другой код запроса при нажатии кнопок b1 и b2….
Ответ №2:
Итак, если я правильно понимаю, вы хотите знать, какая кнопка нажата, чтобы вы могли обновить правильное представление текста. Решением было бы иметь два логических значения для каждой кнопки, и при нажатии кнопки вы установите этому логическому значению значение true. Позже в Activityresult вы сможете проверить эти логические значения и обновить соответствующие текстовые представления.
Комментарии:
1. Я устал это делать, но значения логических значений обновляются на локальном? Я определил нажатую переменную: Boolean = false. Внутри btn1. Нажатие кнопки OnclickListner = false. Но когда я проверяю вне функции, значение pressed не обновляется.
2. потому что внутри onClick вам нужно установить это логическое значение в true.
3. В качестве альтернативы вы могли бы установить разные коды запроса для разных кнопок.
Ответ №3:
используйте разные requestCode
для обеих кнопок при проверке вашего onActivityResult
метода requestCode
и поместите вашу строку в respected textView
Ответ №4:
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
}
}