我这样搜索时写了一个启动活动

public class SplashActivity extends Activity{
private Utility utility;
private static final long SPLASH_TIME = 2000;
private Context context;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_splash);
    context = this;
    utility = Utility.getInstance();
    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            utility.fillDatabase(context);

            Intent intent = new Intent(context,MainActivity.class);
            startActivity(intent);
            finish();
        }
    }, SPLASH_TIME);
}
}


如您所见,我的run方法中包含Utility.fillDatabase(),延迟时间为2秒,但是我需要在所有任务都没有在特定时间完成之后重写我的启动活动完成。请帮助我提出一个想法。

谢谢

最佳答案

使用AsyncTask

doInBackground-utility.fillDatabase(context);工作

并仅在onPostExecute隐藏/完成启动画面

07-27 20:39