显示活动后,我正在尝试运行一些脚本。我正在从网络上加载一些图像,并在活动中动态显示它们。我正在运行多个可运行对象,每个可运行对象都调用一个Asynctask
(读取图像并将其分配给ImageView
,在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;
};
onWindowFocusChanged(boolean hasFocus)
不是Activity
生命周期方法。您应该在onCreate
中解雇您的任务。如果加载时间很长,则可以显示某种进度条。