删除 dispatchkeyevent 调用两次

问题描述

我连接了条码扫描器来读取条码。 所以我使用 dispatchKeyEvent 获得了条形码数据 但是我调试了以下代码段并知道方法 dispatchKeyEvent() 被调用了两次。例如,条形码数据是“12345678”,那么 textview.text 是 1122334455667788 :(

class MainActivity : AppCompatActivity() {

    var barcode = ""

    lateinit var textView: TextView

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

        textView = findViewById(R.id.textview)

    }

    override fun dispatchKeyEvent(event: KeyEvent?): Boolean {
        val dispatchFirst = super.dispatchKeyEvent(event)

        if (event?.action == KeyEvent.ACTION_UP) {
            val pressedKey = event.getUnicodeChar().tochar()
            barcode += pressedKey.toString()

            textView.text = barcode
        }
        return dispatchFirst
    }

}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)