3

多くのデータと要素を含むアクティビティがあります。

情報が多すぎると、アクティビティが表示されるまで白で待機します。それは望ましくありません。データのロード中にアクティビティを実際に表示したいのです。

では、アクティビティが完全に作成されたことをどのように知ることができますか?

私の意図は、待機中のアクティビティをまたがるアクティビティを 2 番目のスレッドで起動することです。

4

3 に答える 3

3

ロードに時間がかかる場合は、別のスレッドでそのデータを非同期にロードする必要があります。別のスレッドを起動し(プレーンJavaスレッドなどのAsyncTaskを使用して)、データをロードし、ロードを表示します-バックグラウンドで何かが発生していることをユーザーに通知するアクティビティのビュー。

于 2013-03-07T11:39:53.063 に答える
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 に答える