#kotlin #callback
#kotlin #обратный вызов
Вопрос:
Я использую this:https://github.com/yuriy-budiyev/code-scanner/blob/master/src/main/java/com/budiyev/android/codescanner/DecodeCallback.java
Я создаю приложение для сканирования штрих-кода, я хочу, чтобы после сканирования штрих-кода я хотел вернуть его значение другим забавным
Мой код:
var barcodeScanned = ""
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
startScanning()
}
private fun startScanning() {
codeScanner.decodeCallback = DecodeCallback {
runOnUiThread {
barcodeScanned = it.text
}}}
//Here I want to take the barcodeScanned
private fun callAPI() {
println("barcode $barcodeScanned") //this is empty
}
Ответ №1:
var barcodeScanned = ""
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
startScanning()
}
private fun startScanning() {
codeScanner.decodeCallback = DecodeCallback {
runOnUiThread {
barcodeScanned = it.text
}}}
//Here I want to take the barcodeScanned
private fun callAPI() {
println("barcode $barcodeScanned")
}
или вы можете передать его как параметр вместо этого
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
startScanning()
}
private fun startScanning() {
codeScanner.decodeCallback = DecodeCallback {
runOnUiThread {
callAPI(it.text)
}}}
//Here I want to take the barcodeScanned
private fun callAPI(result: String) {
println("barcode $result")
}