由于我使用扫描仪,在将条形码扫描到edittext后,我需要自动从edittext获取文本,并从本地数据库中检查该条形码的记录。
我知道有addTextChangedListener
自动从edittext获取文本。但是有一些问题就像它在扫描时检查条形码的每个字符而不是检查本地数据库中的条形码字符串。
答案 0 :(得分:1)
您可以使用Handler及其方法 postDelayed(Runnable r,long delayMillis)和 removeCallbacks(Runnable r)。
在TextWatcher调用 removeCallbacks(...)中删除之前的Runnable并调用 postDelayed(...)稍微延迟和Runnable将检查条形码字符串。 因此,您可以在最后一个数字发送到 EditText 后的几毫秒内完成数据库中的搜索。
此外,您的扫描仪可能会在条形码的末尾发送一个特殊符号。所以请阅读其文档。可能你不需要Handler,但你需要等待那个特殊的符号