【发布时间】:2023-03-14 04:54:01
【问题描述】:
我希望在从网络下载一些信息时显示一个活动。 信息下载完成后,我想显示另一个活动。
这是我的代码:
public class SplashScreenActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash_screen_layout);
load();
}
private void load() {
try {
ArrayList data= new LoadPage().execute().get();
if(data!= null) {
startActivity(new Intent(getApplicationContext(), MainActivity.class));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
很简单,但我遇到的问题是这个 Activity 没有显示在屏幕(UI)上。发生的情况是信息被下载并且 MainActivity 已按预期启动,但此 Activity (SplashScreenActivity) 从未向用户显示。
进入 MainActivity 后,如果我按下“返回”按钮,我可以看到 SplashScreenActivity。
我怀疑这与 UI 线程有关,并且我在 new LoadPage().execute().get(); 调用 get 方法并等待结果。
我该如何解决这个问题?谢谢。
【问题讨论】:
标签: android android-layout android-asynctask