调用Autocomplete google places时,请避免使用多个AsyncTask

时间:2015-08-08 08:30:30

标签: android android-asynctask

我正在使用文本观察器向用户显示谷歌地方预测列表,每次用户键入一个字符时,asyncTask开始获得新预测,但是当用户键入太快时,所有asyncTasks都会被触发,将显示多个滞后结果。

我的问题是,我可以取消旧的asyncTasks并仅触发带有最后输入字符的那个吗?

1 个答案:

答案 0 :(得分:2)

我终于设法做出正确答案..谢谢@ torque203

我在课程开头初始化了Google Places AsyncTask方法,如下所示

private GooglePlaces GP = null;

然后..

if (GP != null) {
        GP.cancel(true);
        GP = new GooglePlaces();
        GP.execute(sb.toString());
    } else {
        GP = new GooglePlaces();
        GP.execute(sb.toString());
    }