2012-03-29 4 views
0

** は私がServiceランニングを通じて(活動のXMLレイアウトで宣言された)ProgressBarを更新し、私に通知しています** (コメントを参照してください)アンドロイド - プログレスバーが一度更新ではなく、二回

を解決しましたActivity。アクティビティが最初に呼び出されると、最初はすべてが正常に機能します。アクティビティはfinish()メソッドで終了し、アプリケーションはそのサイクルを継続します。

最終的に、このアクティビティは同じ操作を実行するために再度呼び出されます。 ProgressBarに進捗が表示されないという問題があります。私はアクティビティの両方のインスタンスでProgressBarのバールを比較しました。まったく同じです。私はそれを本当に手に入れません。どんな助けもありがとう。


MyActivity

ProgressBar progressBar; 
public void onCreate(Bundle savedInstanceState) { 
    ... 
    progressBar = (ProgressBar) findViewById(R.id.progressBar1); 
    progressBar.setMax(100); 
    progressBar.setProgress(0); 
    ... 
} 

public void get_info_from_service(...) { 
    progressBar.setProgress(service.getPercent()); 
} 

void quit_activity{ 
    Intent myIntent = new Intent(getBaseContext(), OtherActivity.class); 
    MyActivity.this.finish(); 
    startActivity(myIntent); 
} 

たMyService

for (Listener listener : listeners) { 
    listener.send_notification(this); 
} 

public int getPercent(){ 
    return this.percent; 
} 
+0

例外はありますか?はいの場合、ログを投稿してください... – Prem

+0

残念ながら私はしません:/ – PeterGriffin

+0

私は最初の投稿を編集しましたが、それはあなたを助けません。アクティビティは正しく通知されます(したがって、成功した最初のインスタンス)。サービスで唯一可能な問題は、パーセンテージの値が悪いことです。 – PeterGriffin

答えて

0

解決しました。アルゴリズムを再度入力する前に必ず変数を再初期化してください。

関連する問題