我正在使用文本观察器向用户显示谷歌地方预测列表,每次用户键入一个字符时,asyncTask开始获得新预测,但是当用户键入太快时,所有asyncTasks都会被触发,将显示多个滞后结果。
我的问题是,我可以取消旧的asyncTasks并仅触发带有最后输入字符的那个吗?
答案 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());
}