ActionBarSherlockの進行状況の実装を更新するAsyncTaskがあります。どういうわけか、onProgressUpdateはUIスレッドで実行すると主張していますが、スレッドエラーをスローしています。
protected void onProgressUpdate(Integer... values)
{
setSupportProgress(values[0]);
}
エラーは次のとおりです。
03-06 00:13:11.672:E / AndroidRuntime(4183):com.anthonymandra.framework.GalleryActivity $ ShareTask.onProgressUpdate(GalleryActivity.java:476)
ビュー階層を作成した元のスレッドのみがそのビューにアクセスできます。
私が知る限り、このためにUIスレッドにアクセスする必要があります...
私のアプリには多くの動作するAsyncTasksがありますが、要求されたとおり、doInBackground(簡略化)は次のとおりです。
for (MediaObject image : toShare)
{
BufferedInputStream imageData = image.getThumbStream();
File swapFile = getSwapFile(...);
write(swapFile, imageData);
++completed;
float progress = (float) completed / toShare.size();
int progressLocation = (int) Math.ceil(progressRange * progress);
onProgressUpdate(progressLocation);
}