【发布时间】:2016-05-29 11:29:36
【问题描述】:
类活动和splash.class。在第一个(执行主程序)中,有异步任务(它将被调用多次)检索数据。第二个活动是一个启动屏幕,它会一直运行到数据下载完毕。
public class splash extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash_screen);
startHeavyProcessing();
}
private void startHeavyProcessing(){
new LongOperation().execute("");
}
private class LongOperation extends AsyncTask<String, String, String> {
Intent i = new Intent(splash.this, MainActivity.class);
@Override
protected String doInBackground(String... params) {
startActivity(i);
return "";
}
protected void onPostExecute(String result) {
}
protected void onPreExecute() {
}
protected void onProgressUpdate() {}
}
}
我想在 MainActivity 完成检索其 doInBackground 中的数据时完成 spalash 活动。完成后,我将只运行 MainActivity。
【问题讨论】:
-
在调用
onPostExecute方法中调用splash.this.finish()以完成splash 并在调用splash.this.finish()之前调用startActivity(i);而不是startActivity,而不是startActivity -
我会建议你把所有东西都放在启动活动中,在启动活动中处理所有事情。
标签: java android android-asynctask