2
在我的应用程序中,我首先启动一个活动,启动从网站读取更新的线程。如果有更新可用,我会弹出一个警告对话框。当用户按下“确定”的对话框,一条消息被发回服务器,说用户收到更新Android:在任何活动中显示警报对话框
但是,用户能够经历多个活动,所以我的问题是,我怎么能在发生更新时,仍然在用户所处的任何活动中显示该对话框?我保持更新线程运行,直到用户完全退出应用程序,这意味着我不会销毁启动更新线程的第一个活动。
在我的应用程序中,我首先启动一个活动,启动从网站读取更新的线程。如果有更新可用,我会弹出一个警告对话框。当用户按下“确定”的对话框,一条消息被发回服务器,说用户收到更新Android:在任何活动中显示警报对话框
但是,用户能够经历多个活动,所以我的问题是,我怎么能在发生更新时,仍然在用户所处的任何活动中显示该对话框?我保持更新线程运行,直到用户完全退出应用程序,这意味着我不会销毁启动更新线程的第一个活动。
创建一个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");
}
}
那么这是一种不同的。我的意思是,我必须能够在适当时调用对话框,如果一旦我开始更新线程时有更新。换句话说,我不希望从每一个类调用对话框(就像你用someFunction做())。这应该是基本的类,它调用的所有其他类(假设基类启动更新线程) – user522559 2012-01-30 20:55:14
你可以从任何地方在你的BaseActivity调用的ShowDialog(),以及...任何活动运行(即延伸BaseActivity)将显示对话框。也许我误解你的问题,但我想答案仍然成立。如果没有,请向您的问题添加代码示例,显示我错了 – Entreco 2012-01-30 21:01:32