1

私は新しい Android 開発者です。

セキュリティ上の理由から、サインイン アクションで入力を遅らせたいと考えています (ProgressDialog を 2 秒ほど表示してから、メイン プロシージャを続行します)。MultiThread プログラミングを使用してそれを行う方法は既に知っていますが、他のスレッドでは何も行われていないため、バックグラウンド ワーカーを使用せずにそれを行う方法があるのではないかと考えました。

Androidで簡単にできる方法を教えていただけると嬉しいです

ありがとう

4

3 に答える 3

1

スレッドが不要なAction Bar Sherlockを使用することをお勧めします。電話するだけ

setSupportProgressBarIndeterminateVisibility(boolean)

この API の学習はスレッドを使用するよりも難しいと思いますが、新世代の Android (API 11 以降) アプリは通常、アクション バーの進行状況を使用します。

于 2013-02-10T14:38:38.133 に答える
0

さて、将来の参考のために、Timerを使用してこの問題を解決する別の方法を見つけました。 Background Threadよりも優れていると思います。特定の時間後にメインイベントを呼び出すラッパー関数を作成しました

public void onClick(View view) {
    try {
        progressDialog = ProgressDialog.show(this, "sometitle", "somecontent");

        /**
         * input delay
         */
        Timer delayWorker = new Timer();
        TimerTask task = new TimerTask() {
            public View view = null;

            @Override
            public void run() {
                onClickAction(view);
                this.cancel();
            }
        };

        task.getClass().getField("view").set(task, view);
        delayWorker.schedule(task, INPUT_DELAY);

    } catch (Exception e) {
        /**
         * error occurred
         */
    }

}


private void onClickAction(View view) {

      /**
       * actual action click
       */

 }
于 2013-02-11T13:07:21.363 に答える
0

メインスレッドを 2 秒間遅らせることができます。

于 2013-02-10T14:35:18.113 に答える