2017-08-29 14 views
1

私は2番目のJavaクラスを呼び出すアクティビティを持っています。 2番目のクラスが呼び出されてプログレスバーが表示された後、通常のアクティビティ実行に戻るのが必要です。私は他のスレッドをいくつか見つけましたが、プログレスバーを停止させることができませんでした。アンドロイドでプログレスバーを開始および停止する方法は?

+1

は、あなたはあなたがそうあなたは、単にあなたがより多くの情報を提供しなければならないVisibility'がなくなって、可視 – MrAppMachine

+0

にコードを追加してくださいでした。関連するコードはそれを行う必要があります。 AsyncTaskを使用して問題を解決できた可能性はありますが、過剰なものになる可能性もあります。 –

+1

を使用する必要があります質問 –

答えて

3

hereを完全に例があります。

引用:

あなたの進行状況ダイアログ宣言:

progress = ProgressDialog.show(this, "dialog title", 
    "dialog message", true); 

としたとき、それは離れて行く作るために:あなたは進捗ダイアログを開始する準備ができたら

ProgressDialog progress; 

を完了:

progress.dismiss(); 

はここであなたのための小さな糸の例です:あなたはプログレスバーを使用する場合がありますので

// Note: declare ProgressDialog progress as a field in your class. 

progress = ProgressDialog.show(this, "dialog title", 
    "dialog message", true); 

new Thread(new Runnable() { 
    @Override 
    public void run() 
    { 
    // do the thing that takes a long time 

    runOnUiThread(new Runnable() { 
     @Override 
     public void run() 
     { 
     progress.dismiss(); 
     } 
    }); 
    } 
}).start(); 

ProgressDialogが、推奨されません。

私はこれらのうちの1つを削除することについてthis postが見つかりました。

これはむしろばかだと思いますが、ここで私はどのように修正しましたか?

ProgressBarの私のxmlには、デフォルトでそれを隠すためにandroid:visibility="gone" を追加しました。私のコードでは、サーバリストを取得しようとする前に、まず (View.VISIBLE)と表示するように指示してから、 にそれを隠すように言いました(View.GONE)。これはうまくいった(私は データがロードされている間に進捗インジケータが見えて、それが消えた)。だから コードが であるため、コードに隠れないようにすることはできないと思いますが、それは先に表示されるように強制されませんでした...それは のバグです。

+0

ヒント、@ Pavneet_Singhありがとうございます。もう少し研究をして答えを編集します。 – RubbelDieKatz

+1

ありがとうございますこれは正常に動作します。進捗バーを消してから20秒間(コードがローカルホストで速すぎる)表示されるようにする前に、ユーザーに宣伝して何かが進行中であることを知らせたいとします。どうやってやるの? –

+0

@ tzimhspanousis、これは追加質問のためのものかもしれません。あなたのコードも投稿してください。 – RubbelDieKatz

1

その非常にシンプル:

進捗

ProgressDialog dialog = ProgressDialog.show(getContext(), "Title", "Message"); 

を表示すると、それを停止する:

dialog.dismiss(); 
+1

'ProgressDialog'は廃止予定ですので、' ProgressBar'の質問 –

+1

は廃止されましたか?だから何? 'Thread.stop()'もプログラミングを始めてから非難されていることは知っていますか? 4.Xデバイスがたくさんある限り、それは動作することが保証されます。 –

+1

'だから?' 'Thread.stop()'も非推奨になっているので、誰もそれを使用していないため、アンドロイドでは可能な限り廃止予定のバージョンを避け、おそらくほとんどが進捗ダイアログの開始と停止について知っているが、プログレスバー付きで –

関連する問題