ram*_*esh 3 android web-services android-asynctask
我正在使用Android loopj Async Task从服务器访问数据.
我试图在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);
}
});
}
Run Code Online (Sandbox Code Playgroud)
请看这个AsyncHttpClient类方法的方法:cancelRequest().
您可以取消与之关联的任何待处理(和中断运行)请求Context.这意味着您必须传递Context您的请求,否则他们将不会被取消.