0

リストビューを使用したアクティビティがあります。このアクティビティを呼び出すと、アクティビティが表示されてリストビューが表示されるまでに約 3 ~ 5 秒かかります。アクティビティをロードするためにボタンが押されていないように見えます。ロード中に進行状況ダイアログを表示したいのですが、理解できません。

ProgressDialog progress;
    progress = ProgressDialog.show(this, "Loading maps!",
        "Please wait...", true);


    // sort out track array
    getTracks();

            progress.dismiss();

リストビューを使用してアクティビティの oncreate() で上記を実行しましたが、ダイアログが表示されませんか?

私が望むのは、ボタンが押されたときにアクティビティ A の進行状況ダイアログを表示し、アクティビティ B が読み込まれて表示されると閉じることですか?

ありがとう

4

3 に答える 3

0

次のようなものを使用します。

private static class MapLoader extends AsyncTask<Void, Void, Void> {

    @Override
    protected void onPreExecute() {
        progress.setVisibility(View.VISIBLE);
        // make your element GONE
    }

    @Override
    protected Void doInBackground(Void... params) {
                    // Load map processing
        return null;
    }

    @Override
    protected void onPostExecute(List<Document> result) {

        progress.setVisibility(View.GONE); 
        adapter.setNewData(new_data);
        adapter.notifyDataSetChanged();
    }
}

onCreate() で次を使用します。

listView.setAdapter(adapter);
new MapLoader.execute();
于 2013-11-12T10:12:35.913 に答える