我正在使用Android loopj Async Task从服务器访问数据。
我尝试在autocompleteText视图上实现这一点,即当用户键入时,它将在我的数据库中搜索并使用适配器在ListView中列出结果。所有都运行良好。
但是,当新任务运行时,我需要取消所有先前的请求。也就是说,如果用户键入“che”,则会运行新的AsyncHttpClient并启动Web服务,然后用户键入“chem”,则需要取消所有先前/正在运行的AsyncHttpClients。
有什么想法吗?
以下是我的代码:
我尝试在autocompleteText视图上实现这一点,即当用户键入时,它将在我的数据库中搜索并使用适配器在ListView中列出结果。所有都运行良好。
但是,当新任务运行时,我需要取消所有先前的请求。也就是说,如果用户键入“che”,则会运行新的AsyncHttpClient并启动Web服务,然后用户键入“chem”,则需要取消所有先前/正在运行的AsyncHttpClients。
有什么想法吗?
以下是我的代码:
public void getValues(String movie){
AsyncHttpClient client = new AsyncHttpClient();
RequestParams webparams = new RequestParams();
webparams.put("fn", "searchMovies");
webparams.put("movie", movie);
client.post(domain, webparams, new AsyncHttpResponseHandler() {
@Override
public void onStart() {
}
@Override
public void onSuccess(String response) {
//dialog.dismiss();
try {
JSONObject obj = new JSONObject(response);
...
...
}
catch {}
@Override
public void onFailure(Throwable e, String response) {
Toast.makeText(SearchActivity.this,"Error Occured ! Please try again.",Toast.LENGTH_SHORT).show();
cd.goHome(SearchActivity.this);
}
});
}