我有两个活动名称(ActivityMain和splash_screen)。 我的问题是ActivityMain内容,导致它加载太晚。
我想拥有一个像手机游戏一样的初始屏幕页面,并在初始屏幕背景中加载ActivityMain。当ActivityMain完全加载后,splash_screen将关闭。
我想显示一个初始屏幕,直到ActivityMain完全加载。
答案 0 :(得分:0)
根据我对问题的理解,您可以在第一个活动(Splash Activity)中加载第二个活动需要显示的所有数据,然后通过POJO类传递该数据或第一个活动创建的数据列表实现Serializable
或通过Parcellable
的数据列表。您不需要在第一个活动中使用AsyncTask
,因为您希望应用程序在加载数据的过程中一直停留在该屏幕中。
您可以使用Intent
将POJO类对象从第一个活动传递到第二个活动。
使用代码将数据从第一个活动传递到第二个活动:
//To pass:
intent.putExtra("MyClass", obj);
// To retrieve object in second Activity
getIntent().getSerializableExtra("MyClass");
还要确保,主自定义类的每个嵌套类都实现了Serializable接口,以避免任何序列化异常。例如:
class MainClass implements Serializable {
public MainClass() {}
public static class ChildClass implements Serializable {
public ChildClass() {}
}
}