我实际上有一个multiautocompletetextview,我在3个字符后调用host来拥有动态搜索列表。 但是如果用户输入其他字符,我的代码会为每个字符调用主机。所以它必须很长。
我可以在启动操作之前等待片刻(大约500毫秒),以查看用户是否执行某项操作?那有可能吗?
答案 0 :(得分:1)
你可以使用一个separeted线程。当用户输入文本时,您可以创建一个线程,使其休眠500毫秒,并在它唤醒时检查输入的文本是否已更改。
修改强>
创建处理程序
private Handler h = new Handler();
创建一个可以进行动态搜索的runnable
private Runnable myrunnable = new Runnable() {
public void run() {
....
};
然后在onTextChanged中调用你的runnable,如
h.postDelayed(myrunnable, 500);
请参阅Handler了解更多选项/信息
确保您的线程以一致的方式访问内存!