Процесс doInBackground в AsyncTask android не работает - PullRequest
0 голосов
/ 17 января 2020

У меня есть код, который выполняет 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);
    }
}

Любой, кто поможет мне исправить это дело .?

...