我的AsyncTask永远停留在doInBackground()中

时间:2014-03-31 18:00:53

标签: android android-asynctask progressdialog

我有一个程序,我咨询谷歌电子表格,我在AsyncTask中做,但是非常慢,所以我想放一个ProgressDialog,我在onPreExecute方法上显示但我的程序不能执行doInBackground方法,怎么样我可以看到应用程序进入这个方法thaks到Log.i,但什么都不做,我可以看到进度对话框,但没有别的,它就像一个无限的bucle

我的AsyncTask是这样的:

private class GestionDatos extends AsyncTask<Void, Void, ArrayList<String>> {

    @Override
    protected void onPreExecute(){
        super.onPreExecute();


        mProgress = ProgressDialog.show(MainActivity.this, "Trabajando", "Espere por favor");
    }


    @Override
    protected ArrayList<String> doInBackground(Void... params) {
        SpreadsheetService service = new SpreadsheetService("com.banshee");
        ArrayList<String> nombres = new ArrayList<String>();
        String idAnterior = "idAnterior";
        try {

            String urlString = "My URL";

            URL url = new URL(urlString);

            ListFeed feed = service.getFeed(url, ListFeed.class);

            for (ListEntry entry : feed.getEntries()) {
                CustomElementCollection elements = entry
                        .getCustomElements();
                String id = elements.getValue("Codigo");
                if (idAnterior.compareTo(id) != 0) {
                    idAnterior = id;
                    String name = elements.getValue("Profesor");
                    nombres.add(name);
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        } catch (ServiceException e) {
            e.printStackTrace();
        }

        return nombres;
    }

    @Override
    protected void onPostExecute(ArrayList<String> result){
        super.onPostExecute(result);
        mProgress.dismiss();
        values = result;
    }

}

抱歉我的英语不好,请耐心等待,我是一个菜鸟程序员

1 个答案:

答案 0 :(得分:0)

最后这似乎是一个硬件问题,我在一个功能强大的计算机上执行代码并且工作,可能是因为我的应用程序冻结了繁重的工作?我不知道,谢谢