/**
 * show confirm dialog
 * @param activity current activity
 * @param title the title of dialog
 * @param msg showed message of dialog
 * @param ok the text of ok button caption
 * @param disappearTime time disappear time of dialog,-1 indicate never auto disappear until man click ok button.
 */
public static void showConfirmDialog(Activity activity , String title , String msg , String ok , int disappearTime){
final Timer timer = new Timer();
final AlertDialog ad = new AlertDialog.Builder(activity)
.setTitle(title)
.setMessage(msg)
.setCancelable(false)
.setPositiveButton(ok, new DialogInterface.OnClickListener(){ @Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
timer.cancel();
}

}).create();

ad.show();
if(disappearTime != -1){
TimerTask tt = new TimerTask(){ @Override
public void run() {
ad.dismiss();
}

};
timer.schedule(tt, disappearTime);
}
}
单独弄个utily包,或者把这个放到自己继承的Application类里。至于界面可以用自己的layout定制。

解决方案 »

  1.   

    如果D和ABC都有依赖关系,那用LS的方法就完全可以,重要的就是那个activity的this。
    但是只是弹框的话,完全可以ABC里各自去new AlertDialog.Builder
      

  2.   

    这是个弹窗方法,我需要的是一个弹窗机制,就是ABC3个ACTIVITY上都做这个弹窗事件吗?
    这不是我想要的,我想要的是 某个地方做这个机制,其他页面不需要管理,即可在需要的时候弹出这个对话框了!
      

  3.   

    比如说 QQ这个软件,你可能在联系人列表页面,也可能在群组会话页面,不管在哪个ACTIVITY上,一旦发生了网络异常,就会有一个对话框弹出来,告诉用户,网络异常了!那么这个网络异常的事件监听是在哪里做的?才把这个对话框在当前页面弹了出来了呢?
      

  4.   

    get it....public class MyApp extends Application{
    public static Activity mCurrentActivity;//保存当前显示的activity
    }
    至于“不管在哪个ACTIVITY上,一旦发生了网络异常,”这个,要看你程序上的安排吧,这个机制肯定是要单独拿出来的吧,不可能混在“哪个ACTIVITY上”。
      

  5.   


    对,是要拿出去单独做的,只是如何做呢?还有你的这个
    public class MyApp extends Application{
    public static Activity mCurrentActivity;//保存当前显示的activity
    }这种方式,能保存一个当前显示的activity?
    如果切换到了桌面,那还保存的是上一个 activity?还是 桌面呢?
      

  6.   

    要么三个都做 要么只做一个activity 用不同的view换
      

  7.   

    1、“对,是要拿出去单独做的,只是如何做呢?”-》既然你要弹窗,那总该有触发弹窗的前提吧,按照你的意思,这个触发应该是被动的。2、“这种方式,能保存一个当前显示的activity?
    如果切换到了桌面,那还保存的是上一个 activity?还是 桌面呢?”-》能保存,Application类是唯一的,但是是在你程序上用代码的方式赋值的,至于切换到桌面的问题,建议你先试下。如果不行,看能不能找到android中类似getCurrentActivity的方法。
      

  8.   

    每个Acitivity都设置弹框, 判断一下条件
    如果是当前的Activity的话其它两个Activity都处于stop状态。根据这个加加条件试试
      

  9.   

    用个service一直监听,但是不好弹出窗口,不过可以作成通知。不管你在那个activity,监听到异常就显示通知
      

  10.   

    你可以继承 appliaction这个类,在这里面检测,这个类的生命周期是贯穿整个程序的。
      

  11.   


    我觉的你说的倒不妨一试,我对appliaction这个类还不太了解,等我查查资料吧!
    或者有谁顺着这个思路想想!
      

  12.   

    appliaction类不知道,做过多的事情是否会影响效率啊?