我有一个包含大量数据和元素的Activity。
当信息过多时,活动等待白色显示,这不是我想要的,我实际上想要在加载数据时显示活动
那么,我怎样才能知道我的活动何时完全创建?
我的意图是在第二个线程中启动等待活动的活动。
答案 0 :(得分:3)
如果需要花费很长时间加载,您应该在另一个线程中异步加载该数据。启动另一个线程(通过使用AsyncTask,例如普通Java线程),加载数据并在Activity上显示一些loading-View,通知用户后台发生了某些事情。
答案 1 :(得分:2)
此方法在创建活动
后调用@Override
public void onStart() {
super.onStart();
}
答案 2 :(得分:2)
您可以使用AsyncTask并显示进度对话框,直到数据加载完毕。
private class FetchRSSFeeds extends AsyncTask<String, Void, Boolean> {
private ProgressDialog dialog = new ProgressDialog(HomeActivity.this);
protected void onPreExecute() {
this.dialog.setMessage(getResources().getString(
R.string.Loading_String));
this.dialog.show();
}
protected Boolean doInBackground(final String... args) {
try {
// Fetch the data from URL
// do background process
return true;
} catch (Exception e) {
Log.e("tag", "error", e);
return false;
}
}
@Override
protected void onPostExecute(final Boolean success) {
if (dialog.isShowing()) {
dialog.dismiss();
}
if (success) {
// Setting data to list adaptar
setListData();
}
}