我有以下情况要解决:我想在向用户显示Splash屏幕(SplashScreenActivity.java(时填充我的ListView(mainActivity.java(。我想使用asynctask执行此操作,但在这种情况下我不知道如何使用它:
splashscreen.java
public class SplashScreenActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash_screen);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
}
}, 1500);
}
mainActivity.java只是一个ListView,它使用JSON显示数据。
不要听此评论。
您需要在SplashActivity
之前打开MainActivity
,在MainActivity
中,您需要从服务器中获取数据并加载列表,而它在获取时,您打开SplashActivity
并调用您使用的相同的PostDelayed
方法呼叫finish();
,它将返回到MainActivity
,希望加载。
请注意,您假设用户的Internet连接足够快,可以将数据加载到1500
miliseconds中,这种情况的理想是使用基于事件的应用程序,请寻找EventBus来实现这一目标。