Android扫描枪(PDA)开发

最近在负责PDA的开发,在扫描事件的处理上,花费了一些时间,但是,最终功夫不负有心人,总算找到一个好点的解决方案,不说了,上代码。


//该文本框添加扫描事件.





但是该扫描事件有一个明显的bug,当扫描出的字符是一个的时候,就无法区分出是扫描事件还是手动输入的事件。


editText.addTextChangedListener(textwatcher);


/**
* 扫描事件.
* **/
private MTextWatcher textwatcher = new MTextWatcher();




private class MTextWatcher implements TextWatcher {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
/*
* start before count
*  0 0 13 
*  //扫描时触发的 001 
*  //手动输入时,显示的数据 012 023 034
* 045 手动通过键盘输入:是每个字母都会触发textWatcher事件 扫描是整体触发,不会单个触发. **
*/
if (start == 0 && before == 0 && count > 1) {
// 当扫描一个字符时,会出错
//当扫描事件触发的时候,去执行自己的方法.
} else {
// 为手动输入触发的事件.
}
}




@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}




@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
}

你可能感兴趣的:(android,PDA,扫描枪)