Android 异步任务中的doInBackground进程不';行不通

Android 异步任务中的doInBackground进程不';行不通,android,android-asynctask,Android,Android Asynctask,我有执行AsyncTask来调用API的代码,但是当我试着调试它时,什么也没有发生。指针从onPreExecute退出,而不进入doInBackground。我不知道为什么 class MasterBrand extends AsyncTask<String, String, AsyncTaskResult<ResponBrand>> { private ProgressDialog dialog; @Override protected void

我有执行AsyncTask来调用API的代码,但是当我试着调试它时,什么也没有发生。指针从onPreExecute退出,而不进入doInBackground。我不知道为什么

class MasterBrand extends AsyncTask<String, String, AsyncTaskResult<ResponBrand>> {
    private ProgressDialog dialog;
    @Override
    protected void onPostExecute(AsyncTaskResult<ResponBrand> s) {
        Log.e("", "CollectionResult.onPostExecute");
        
        try{
            if (dialog.isShowing()) {
                dialog.dismiss();
            }
        }catch (Exception e){

        }
        if (dialog.isShowing()) {
            dialog.dismiss();
        }
    }

    @Override
    protected void onPreExecute() {
        super.onPreExecute();    
        Log.e("", "CmoProductivity.onPreExecute");
        dialog = new ProgressDialog(getActivity());
        dialog.setCancelable(false);
        dialog.setMessage("harap tunggu sebentar...");
        dialog.show();
    }

    @Override
    protected AsyncTaskResult<ResponBrand> doInBackground(String... params) {
        ResponBrand cmoPoDp = new ResponBrand();
        try
        {
            Type listTypeTaskHeader = new TypeToken<ResponBrand>() {}.getType();
            JSONHttpClient jsonHttpClient = new JSONHttpClient();
            List<NameValuePair> argsTaskHeader = new ArrayList<NameValuePair>();
            Log.e("", "Get Task Header Data");
            cmoPoDp = jsonHttpClient.Get(StringAPIurl, argsTaskHeader, ResponBrand.class);
        }
        catch (Exception e) {
            if (dialog.isShowing()) {
                dialog.dismiss();
            }
            Log.e("", e.getMessage());
            e.printStackTrace();
        }
        return new AsyncTaskResult<ResponBrand>(cmoPoDp);
    }
}
class MasterBrand扩展任务{
私人对话;
@凌驾
受保护的void onPostExecute(AsyncTaskResult){
Log.e(“,”CollectionResult.onPostExecute”);
试一试{
if(dialog.isShowing()){
dialog.dismise();
}
}捕获(例外e){
}
if(dialog.isShowing()){
dialog.dismise();
}
}
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
Log.e(“,”CmoProductivity.onPreExecute”);
dialog=newprogressdialog(getActivity());
对话框。可设置可取消(false);
设置消息(“harap tunggu sebentar…”);
dialog.show();
}
@凌驾
受保护的AsyncTaskResult doInBackground(字符串…参数){
ResponBrand cmoPoDp=新ResponBrand();
尝试
{
类型listTypeTaskHeader=newTypeToken(){}.getType();
JSONHttpClient JSONHttpClient=新的JSONHttpClient();
List argsTaskHeader=new ArrayList();
Log.e(“,“获取任务头数据”);
cmoPoDp=jsonHttpClient.Get(stringapirl、argsTaskHeader、ResponBrand.class);
}
捕获(例外e){
if(dialog.isShowing()){
dialog.dismise();
}
Log.e(“,e.getMessage());
e、 printStackTrace();
}
返回新的AsyncTaskResult(cmoPoDp);
}
}

我怎样才能解决这个问题?

你怎么称呼它?添加调用代码。。还可以查看是否有任何异常,并添加错误日志。还可以从
doInBackground
中删除
dialog.isShowing()
code。这就是我称之为new MasterBrand.execute()的方式,但当我调试指针从onPreExecute退出时,它应该转到doInBackground。但在这种情况下,它会在showdialog之后从onPreExecute退出,而不会关闭它,它应该是新的MasterBrand()。执行(“”)。你是这样叫的吗?如果你也能加上呼叫部分,那会有帮助的。并检查添加到doInBacakground中的日志是否被记录。