2012-01-30 22 views
2

私のアプリケーションでは、まずWebサイトから更新を読み取るスレッドを開始するアクティビティを開始します。アップデートが利用可能な場合は、警告ダイアログが表示されます。ユーザがダイアログに「OK」を押すと、ユーザが更新を受信したことを示すメッセージがサーバに返されるAndroid:すべてのアクティビティで警告ダイアログを表示

しかし、ユーザは複数のアクティビティを通過することができるので、どうすればよい更新が行われるたびにユーザがいるすべてのアクティビティでダイアログを表示しますか?ユーザーがアプリを完全に終了するまで更新スレッドを実行しています。つまり、更新スレッドを開始する最初のアクティビティを破棄しているわけではありません。

答えて

1

他のすべてのアクティビティが拡張されるBaseActivityを作成します。そうすれば、すべてのアクティビティでそのコードを使用できます。

public class BaseActivity 
{ 
    public void showDialog(String msg) 
    { 
     // show the dialog 
    } 
} 

public class Activity1 extends BaseActivity 
{ 
    public void someFunction() 
    { 
     showDialog("activity 1"); 
    } 
} 

public class Activity2 extends BaseActivity 
{ 
    public void someFunction() 
    { 
     showDialog("activity 2"); 
    } 
} 
+0

これはまあまあです。つまり、私が更新スレッドを開始すると、アップデートがあれば、適切なときにダイアログを呼び出すことができなければなりません。言い換えれば、someFunction()でやっているように、各クラスからダイアログを呼びたくはありません。 – user522559

+0

BaseActivityのどこからでもshowDialog()を呼び出すことができます...(BaseActivityを拡張している)すべてのアクティビティは、ダイアログが表示されます。たぶん私はあなたの質問を誤解するが、私は答えがまだ保持すると思います。そうでない場合は、質問にコード例を追加して、間違っていることを示してください – Entreco

関連する問題