从Edittext自动获取文本的不同方式
Different ways to get text automatically from Edittext
由于我使用的是扫描仪,在将条形码扫描到 edittext 后,我需要自动从 edittext 中获取文本,并从本地数据库中检查该条形码的记录。
我知道 addTextChangedListener
可以自动从 edittext 中获取文本。但也有一些问题,比如它在扫描时检查条码的每个字符,而不是检查本地数据库中的条码字符串。
您可以使用 Handler 及其方法
postDelayed(Runnable r, long delayMillis) 和
removeCallbacks(Runnable r).
在您的 TextWatcher invoke removeCallbacks(...) in order to remove any previous Runnable and invoke postDelayed(...) with a little delay and a Runnable 中将检查条形码字符串。
因此,您可以在最后一位数字发送到 EditText 后的几毫秒内完成在数据库中的搜索。
此外,您的扫描器可能会在条形码末尾发送一个特殊符号。所以阅读它的文档。可能你不需要Handler,但你需要等待那个特殊符号
由于我使用的是扫描仪,在将条形码扫描到 edittext 后,我需要自动从 edittext 中获取文本,并从本地数据库中检查该条形码的记录。
我知道 addTextChangedListener
可以自动从 edittext 中获取文本。但也有一些问题,比如它在扫描时检查条码的每个字符,而不是检查本地数据库中的条码字符串。
您可以使用 Handler 及其方法 postDelayed(Runnable r, long delayMillis) 和 removeCallbacks(Runnable r).
在您的 TextWatcher invoke removeCallbacks(...) in order to remove any previous Runnable and invoke postDelayed(...) with a little delay and a Runnable 中将检查条形码字符串。 因此,您可以在最后一位数字发送到 EditText 后的几毫秒内完成在数据库中的搜索。
此外,您的扫描器可能会在条形码末尾发送一个特殊符号。所以阅读它的文档。可能你不需要Handler,但你需要等待那个特殊符号