intent使用异步任务的数据,但是在转uri的时候,报空指针错误原因?

比如分享某个文件,把文件下载之后,转为Uri,这一流程。
public void share(){
    SFile sfile = getFirstSelected();
    //使用异步任务下载这个文件
    new DownloadTask().execute(sfile);
    //此处不能使用涉及到异步任务结果数据的UI操作!!!
}
public class DownloadTask extends AsyncTask<SFile, Void, String>{
     @Override
        protected TaskResult<SFile> doInBackground(SFile... sFiles) {
            
        }   
    @Override
        protected void onPostExecute(TaskResult<SFile> sFileTaskResult) {
            if(sFileTaskResult.isValid()){
                //在这边写intent
            }
}
异步任务没执行完,得不到更新UI所需的数据,造成系统崩溃。因为如果更新操作直接写在异步任务的调用函数后面的话,表示立即更新。
file转uri报空指针错误。应该把ui更新操作放在异步任务的post阶段。

posted @ 2020-11-15 09:57  jungu  阅读(89)  评论(0)    收藏  举报