我正在尝试从n AsyncTask'onPostExecute()方法更改一些UI元素,但它不起作用...我不知道为什么我之前已经完成了几次而且它没有任何工作问题....任务将照片上传到服务器,它的工作原理;我现在不关心结果只是想在UI上写一些东西
主要活动代码:
ImageUpload post=new ImageUpload(imagePath.toString(),textView);
//post.delegate=this;
post.execute(imagePath.toString());
asyncTask代码:
public class ImageUpload extends AsyncTask<String, Void, Void>{
public TextView resp;
public ImageUpload(String photoPath, TextView resp){
//other stuff
this.resp=resp;
}
@Override
protected Void doInBackground(String... params) {
//upload photo
}
protected void onPostExecute(Void... params) {
resp.setText("work done");
}
}
文件已上传,但textview没有更改....任何人都可以看到错误?
答案 0 :(得分:4)
你必须像这样写onPostExecute
@Override
protected void onPostExecute(Void params) {
resp.setText("work done");
}
答案 1 :(得分:0)
在这里,你错过了2件事......
1. return null
方法中的doInBackground
2.在@Override
方法
onPostExecute
表示法
@Override
protected Void doInBackground(String... params) {
//upload photo
return null; //you have to return a null for Void
}
@Override
protected void onPostExecute(Void result) {
resp.setText("work done");
}