2012-01-30 106 views
2

在我的应用程序中,我首先启动一个活动,启动从网站读取更新的线程。如果有更新可用,我会弹出一个警告对话框。当用户按下“确定”的对话框,一条消息被发回服务器,说用户收到更新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 2012-01-30 20:55:14

+0

你可以从任何地方在你的BaseActivity调用的ShowDialog(),以及...任何活动运行(即延伸BaseActivity)将显示对话框。也许我误解你的问题,但我想答案仍然成立。如果没有,请向您的问题添加代码示例,显示我错了 – Entreco 2012-01-30 21:01:32