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阶段。
标签:异步,uri,更新,sfile,任务,intent,TaskResult,报空,Override 来源: https://www.cnblogs.com/nuistjungu/p/13975820.html