Android Can';无法从异步任务更新UI

Android Can';无法从异步任务更新UI,android,android-asynctask,textview,Android,Android Asynctask,Textview,我正在尝试更改n AsyncTask'onPostExecute()方法中的一些UI元素,但它不起作用…我不知道为什么我之前做了几次,而且它没有任何问题…任务将照片上传到服务器,它起作用;我现在不关心结果,只想在UI上写点东西 主要活动代码: ImageUpload post=new ImageUpload(imagePath.toString(),textView); //post.delegate=this; post.execu

我正在尝试更改n AsyncTask'onPostExecute()方法中的一些UI元素,但它不起作用…我不知道为什么我之前做了几次,而且它没有任何问题…任务将照片上传到服务器,它起作用;我现在不关心结果,只想在UI上写点东西

主要活动代码:

 ImageUpload post=new ImageUpload(imagePath.toString(),textView);
               //post.delegate=this;
               post.execute(imagePath.toString());
异步任务代码:

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");
    }
}
公共类ImageUpload扩展异步任务{
公共文本视图;
公共图像上传(字符串光路、文本视图){
//其他东西
这个。resp=resp;
}
@凌驾
受保护的Void doInBackground(字符串…参数){
//上传照片
}
受保护的void onPostExecute(void…参数){
resp.setText(“完成的工作”);
}
}

文件已上载,但文本视图未更改。。。。任何人都可以看到错误?

您必须像这样在PostExecute上编写

@Override
protected void onPostExecute(Void params) {
    resp.setText("work done");
}

您必须这样编写
onPostExecute

@Override
protected void onPostExecute(Void params) {
    resp.setText("work done");
}
在这里,你错过了两件事。。。 1.在
doInBackground
方法中返回null
2.在
onPostExecute
方法之前添加
@Override
符号

@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");
}
在这里,你错过了两件事。。。 1.在
doInBackground
方法中返回null 2.在
onPostExecute
方法之前添加
@Override
符号

@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");
}

尝试将
@Override
放在
onPostExecute()
方法上。尝试将
@Override
放在
onPostExecute()
方法上。以前使用asynctask时从未使用过ovverride…但我已将(Void…params)更改为(Void params)它起作用了…它们之间有什么区别?在以前使用asynctask时从未使用过ovverride…但是我将(Void…params)更改为(Void params),它起作用了…它们之间有什么区别?