Android 调用Autocomplete google places时避免多个异步任务

Android 调用Autocomplete google places时避免多个异步任务,android,android-asynctask,Android,Android Asynctask,我使用一个文本观察程序向用户显示google places预测列表,每次用户键入一个字符时,asyncTask开始获取新的预测,但是当用户键入太快时,所有asyncTask都会被触发并显示多个滞后结果 我的问题是,我是否可以取消旧的异步任务,只触发最后键入字符的任务?我终于找到了正确答案。。谢谢@torque203 我在类的开头初始化了GooglePlacesAsyncTask方法,如下所示 private GooglePlaces GP = null; 然后 if (GP != null)

我使用一个文本观察程序向用户显示google places预测列表,每次用户键入一个字符时,asyncTask开始获取新的预测,但是当用户键入太快时,所有asyncTask都会被触发并显示多个滞后结果


我的问题是,我是否可以取消旧的异步任务,只触发最后键入字符的任务?

我终于找到了正确答案。。谢谢@torque203

我在类的开头初始化了GooglePlacesAsyncTask方法,如下所示

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());
    }

你能告诉我们你现在使用的代码吗?然后,我们可以在此基础上提出变更建议。但基本上,您只需要保留最新的
AsyncTask
的引用,并在开始新任务之前调用
cancel()
。谢谢@torque203。。我发布了一个具有正确实现的代码。