2010-05-10 37 views
0

我实际上有一个multiautocompletetextview,其中我调用3个字符后的主机有一个动态搜索列表。 但是,如果用户把其他字符,我的代码调用每个人的主机。所以它必须很长。等待t时间才开始动作?

在启动操作之前,我可以稍等片刻(约500毫秒),以查看用户是否执行操作?这可能吗?

回答

1

您可以使用separeted线程。当用户输入文本时,你可以创建一个线程,让它休眠500ms,当它醒来时检查输入的文本是否改变。

编辑

创建一个处理程序

private Handler h = new Handler(); 

创建一个可运行,使您的动态搜索

private Runnable myrunnable = new Runnable() { 
    public void run() { 
     .... 
}; 

然后打电话给你的可运行在onTextChanged像

h.postDelayed(myrunnable, 500); 

有关更多选项和信息,请参阅Handler

确保您的线程以一致的方式访问内存!

+0

thx很多,它工作正常 – Nanis 2010-05-11 12:26:55