新进一家公司做的很多项目都是在PDA上安装Android app,今天给大家分享一点pda扫描事件。
比如现在页面有个EditText控件,光标在EditText上,用PDA扫描头扫描任意条码,这时就相当于EditText控件输入文本并按Enter建,代码如下:
edittext.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View view, int keyCode, KeyEvent keyEvent) { Log.i("msg", "keyCode:" + keyCode + ", keyEvent.getAction:" + keyEvent.getAction()); if (keyCode == KeyEvent.KEYCODE_ENTER && keyEvent.getAction() == KeyEvent.ACTION_DOWN) { String barcode = edittext.getText().toString().replaceAll("\n", ""); if ("".equals(barcode)) { UtilCommon.showToastShort("扫码为空"); return true; } //在这里实现自己的逻辑代码 //。。。。。。。。。。。。。 } return false; } });
这样我们就获取到了扫描的内容,值得注意的是不同的PDA可能按键事件不一样,所以做的时候要根据实际pda按键事件操作。
一般keyCode == KeyEvent.KEYCODE_ENTER 事件不止执行一次,可能多次,加上keyEvent.getAction() == KeyEvent.ACTION_DOWN事件就只会执行一次了,根据实际情况而定,因为有的pda可能是其他事件。