我正在使用AsyncTask从服务器获取数据,并希望在加载时显示屏幕:
private class GetListTask extends AsyncTask {
protected void onPreExecute() {
Intent intent = new Intent();
intent.setClass(Start.this, Wait.class);
startActivity(intent);
}
protected Bitmap doInBackground(Object... args) {
//这里我从服务器获取数据
d = getImageFromURL(Start.valuesArray[Integer.parseInt(Value)][7]);
Bitmap bitmap = ((BitmapDrawable) d).getBitmap();
double ratio = (double) bitmap.getWidth() / (double) bitmap.getHeight();
Bitmap scaled = Bitmap.createScaledBitmap(bitmap, width, (int) (width / ratio), true);
return scaled;
}
protected void onPostExecute(Object objResult) {
if (objResult != null && objResult instanceof Bitmap) {
Bitmap result = (Bitmap) objResult;
im.setImageBitmap(result);
}
}
}
现在,在onPostExecute()中我需要隐藏这个"等等"再次屏幕,但我该怎么做? 谢谢你的帮助!
答案 0 :(得分:1)
而不是启动不同的活动,您可以在PopupDialog中显示您的图像并在onPostExecute中关闭它
答案 1 :(得分:1)
改为使用此布局......
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<!-- Your actual layout. width & height fill_parent -->
<ImageView
android:id="@+id/wait_image"
android:layout_width="fill_parent"
android:visibility="gone"
android:layout_height="fill_parent"
android:src="@drawable/wait_screen"
/>
</FrameLayout>
现在在preExecute()
上显示等待的图像视图并隐藏实际布局。
在postExecute()
上隐藏imageView&amp;显示实际布局。