1

上部のボタンタブをクリックすると、ユーザーがあるアクティビティから別のアクティビティに移動できるタブタイプのアクティビティがいくつかあります。いずれかのタブをクリックすると、ProgressDialog が表示され、"Loading..." ビューが表示されます。読み込みプロセス中にユーザーが戻るボタンを押すと、前のアクティビティに戻るため、管理したいと思います。

ProgressDialog の onClickListener を使用してこれを実装しようとしましたが、2 つの問題があります。

最初の問題は、ダイアログの読み込み中です。ユーザーが画面上の任意の場所をクリックすると、進行状況ダイアログの onClickListener がトリガーされます。私はこれを望んでいません。ボタンの後ろからのみトリガーする必要があります。

2 番目の問題は、「読み込み中...」が表示されたときです。私の onClickListener は 1 秒または 1.5 秒間動作し、約 2 〜 3 秒間表示されます。1秒または1.5秒後に戻るボタンを押すと。進行状況ダイアログのリスナーは何もせず、同じアクティビティのままですか?

4

2 に答える 2

0

onBackPressed()メソッドをオーバーライドし、最初super.onBackPressed()にダイアログを閉じてから作業を開始します。このようにしてダイアログを閉じ、通常の画面に戻ることができます。

次に、 を設定するだけdialog.setCancellable(false);で、ユーザーが画面のどこをクリックしても実行できなくなります。

例えば、

@Override
public void onBackPressed() {
 dialog.dismiss();
 super.onBackPressed();
}

void create ProgressDialog() {
 dialog =  new ProgressDialog/Alerdialog.Builder(this);
 dialog.setTitle(tile);
 dialog.setMessage(message);
 dialog.setCancellable(false);
 dialog.show();
}

準備万端!

于 2012-07-18T15:05:04.903 に答える
0

これが私の問題を解決した方法です:

  public ProgressDialog pDialog;
    @Override
    public void onBackPressed() {
        // TODO Auto-generated method stub
        if (pDialog != null)
            if (pDialog.isShowing())
                return;

        super.onBackPressed();
    }
于 2012-12-09T19:29:44.243 に答える