Android - loopj异步任务取消

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)

fas*_*que 5

请看这个AsyncHttpClient类方法的方法:cancelRequest().

您可以取消与之关联的任何待处理(和中断运行)请求Context.这意味着您必须传递Context您的请求,否则他们将不会被取消.