我使用下面的代码基本上复制一个文件内的执行器,我想在复制数据到一个文件发布进度。问题是progressBar不会更新,直到复制文件完成。进度从0到100%一次完成,而不是显示进度。
int x=0;
Executor executor = Executors.newSingleThreadExecutor();
executor.execute(()->{
myDataBase.sendJsonToFile(path,"myFile"+".json");
for(int i=0;i<=100;i++){
new Handler(Looper.getMainLooper()).post(()->{
progressbar.setProgress(x);
});
x++;
}
});
任何帮助感激不尽。
1条答案
按热度按时间4si2a6ki1#
您可以这样使用Executor服务抽象,
现在,就像异步任务一样,这个类有
onPreExecute()
,onPostExecute()
和doInBackground()
。您可以在publishProgress()
方法中发布您的进度。这里是如何使用它,