3

我有一个包含大量数据和元素的活动。

当它有太多信息时,活动等待显示为白色,这不是我想要的,我实际上想在加载数据时显示一个活动

那么,我怎样才能知道我的活动何时完全创建?

我的意图是在第二个线程中启动整个等待活动的活动。

4

3 回答 3

3

如果需要很长时间来加载,您应该在另一个线程中异步加载该数据。启动另一个线程(通过使用 AsyncTask 例如普通的 Java 线程),加载数据并在 Activity 上显示一些加载视图,通知用户后台正在发生某些事情。

于 2013-03-07T11:39:53.063 回答
2

在活动中创建后调用此方法

@Override
    public void onStart() {
        super.onStart();
}
于 2013-03-07T11:37:57.633 回答
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();
    }
}
于 2013-03-07T11:42:54.517 回答