Android通过扫码枪获取到商品的编码 完成自动搜索

xiaoxiao2021-03-01  26

  最近要做一个大型的Android设备的软件,是超市前台收银的设备,机器上有外接扫码枪等设备,这里的扫码枪指的是外接USB扫码枪 其本质是模拟输入法的一段输入流 通过获取焦点的EditText 可以直接获取到。

  现在说一下获取到文本之后的操作,因为要有好的交互,扫码枪获取到文本后应该完成自动搜索商品的功能,一般的扫码枪读取到数据之后 都会在显示的EditText结尾加上一个Enter的动作 (不同的扫码枪,可能会略有区别 绝大多数扫码枪都是在结尾加一个enter),我们可以以此来判断是否是扫码枪输入的,判断是否输入完毕,并以此来作为搜索的契机。

    

 //先找到控件

etCardName = findViewById(R.id.et_card_name); btnSure = findViewById(R.id.btn_commit);

//EditText 设置 OnKeyListener etCardName.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View view, int i, KeyEvent keyEvent) { //如果keyEvent KEYCODE_ENTER 也就是回车 就处理这个事件 if (i == KeyEvent.KEYCODE_ENTER) { //异步处理Button 的点击事件 btnSure.post(new Runnable() { @Override public void run() { //设置button自动点击 btnSure.performClick(); } }); } //如果返回true 表示消耗此次事件(就是点击回车) return false; } }); btnSure.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //处理 略 } });

转载请注明原文地址: https://www.6miu.com/read-3200126.html

最新回复(0)