Asynctask onProgressUpdate未调用

时间:2014-03-15 19:41:18

标签: android android-asynctask

我是Android和Java编程的新手。我已经搜索了一些示例和可能的解决方案几个小时,我仍然无法使其工作。

我正在进行网络操作,如果我只是执行它并打印结果,它就可以很好地运行(它确实输入了onPostExecute方法),所以现在我试着让它在while循环上工作(更新ui不断的结果)但它似乎没有进入onProgressUpdate。

日志显示网络操作运行正常但我无法在textview上发布内容,因为它从不进入onProgressUpdate。我试图清理我的代码,只是使用了for循环,我得到了相同的结果:

public class loadsomestuff extends AsyncTask<String, String, String>{

    String result="";
    ProgressDialog Pd = null;

    protected void onPreExecute(){

    }
    @Override
    protected String doInBackground(String... arg0) {

        Log.d("Inicio connexió","");
        for(int m=0;m<100;m++){
            String s = "string"+m;
            Log.i("Loop",s);
            publishProgress(s);
        }

        //Log.d("",result);
      return result;
    }
    protected void onProgressUpdate(String prova){
        super.onProgressUpdate(prova);
        Log.i("Trying to enter onProgressUpdate",prova);
      }

    @Override
    protected void onPostExecute(String abc){
        // Definim el textView i mostrem el resultat per pantalla
        Log.i("I can enter here",prova);
    }
}

非常感谢。

3 个答案:

答案 0 :(得分:2)

chenge:

protected void onProgressUpdate(String prova){
    super.onProgressUpdate(prova);
    Log.i("Trying to enter onProgressUpdate",prova);
  }

到:

    protected void onProgressUpdate(String...prova){
        Log.e("Trying to enter onProgressUpdate",prova[0]);

      }

答案 1 :(得分:0)

就像这个例子 protected void onProgressUpdate(Integer ... progress){ setProgressPercent(进展[0]); }

参数是一个数组 http://developer.android.com/reference/android/os/AsyncTask.html 检查一下

答案 2 :(得分:0)

改变:

protected void onProgressUpdate(String prova){     super.onProgressUpdate(PROVA);     Log.i(&#34;试图进入onProgressUpdate&#34;,prova);   }

到:

@覆盖

protected void onProgressUpdate(String prova){     super.onProgressUpdate(PROVA);     Log.i(&#34;试图进入onProgressUpdate&#34;,prova);   }