1
활동이 표시된 후 일부 스크립트를 실행하려고하는데 웹에서 일부 이미지를로드하고 동적으로 활동에 표시하고 있습니다. 나는 여러 runnables를 실행하고 각 runnable은 Asynctask (이미지 읽기 및 ImageView에 할당, Image Views는 onCreate 함수에서 생성됨)를 호출하지만 모든 실행 파일 asynctasks가 완료된 후에 만 활동이 표시됩니다.활동 후 코드 실행
나는이 목표를 달성하는 데 도움이되기를 바랍니다. 활동을 표시 한 다음 다른 이미지를 차례로 표시하는 것입니다.
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (!hasFocus)
return;
Handler h = new Handler();
Runnable[] r;
int i = 0;
r = new Runnable[files.length];
for (i = 0; i < files.length; i++) {
final int j = i;
r[i] = new Runnable() {
public void run() {
ViewGroup vg = (ViewGroup) findViewById(R.id.RootView);
Log.v("ASYNC", "Starting Call " + j);
// new BitmapWorkerTask().execute(img, i);
new BitmapWorkerTask(img, j).execute();
vg.invalidate();
}
};
h.post(r[i]);
Log.v("ASYNC", "Posted " + i);
}
return;
};
몇 개의 이미지가 있습니까? 아마도 하나의 AsyncTask를 생성하여 이미지를 차례로 검색하려고 할 것입니다. – barry
단일 AsyncTask를 사용하면 publishProgress()를 사용하여 방금 다운로드 한 이미지로 UI를 업데이트 할 수 있습니다. – barry