2012-03-28 16 views
1

私は、サーバーからアイテムをリストするメソッドを持っています。したがって、このメソッドはすべてのアイテムを取得するまでに時間がかかります。ですから、このメソッドを待つためにProgressDialogを使いたいと思います。私はいくつかのモジュールを読んだが、何も役に立たない解決策を見つけることができなかった。ProgressDialogでのタイマーの使用

public void onCreate(Bundle savedInstanceState) 
     { 
      super.onCreate(savedInstanceState); 
      // setContentView(R.layout.main; 
        loginScreen(); 
     } 
    public boolean getItems() throws MessagingException 
      { 
        items receiving here 
      } 
    public void loginScreen() 
      { 
        setContentView(R.layout.main); 
        Button loginBtn = (Button) findViewById(R.id.btnLogin); 

        loginBtn.setOnClickListener(new Button.OnClickListener() 
        {   
         public void onClick(View arg0) 
         { 
          getItems(); 
         } 
        } 
      } 

ボタンをクリックします。すべてのアイテムを受け取ったメソッドを呼び出します。ボタンをクリックすると、すべてのアイテムが取得されるまでプログレスバーが表示されます。

私の英語のために申し訳ありません。 いずれの回答もありがとうございます。

答えて

1

AsyncTaskを作成し、ProgressBargetItems()に示します。メインのスレッドがサーバからのものをフェッチするのに忙しく、ProgressBarが終了するまで表示されないため、AsyncTaskが必要です。

+0

ありがとうございました!私の望みどおりに動作します。 ProgressDialogは、メソッドが結果を準備しているときに表示されますが、速すぎます。それで、進捗ダイアグラムは短時間表示されます。 2秒以上progressdialogのショーを遅らせる何か(タイマーのような)を追加することはできますか? – Merve

+0

あなたがしなければならないのは 'Thread.sleep(2000);'で、これは2秒か2000ミリ秒遅れます。 – Mayank

+0

それは私が望むように絶対に動作します!もう一度ありがとう – Merve

関連する問題