我是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);
}
}
非常感谢。
答案 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); }