2011-05-17 80 views
3

在Android中创建可重用对话框的最佳方式是什么?拥有可重用对话框的最佳方式是什么?

通过读取Dialog dev guide,我知道我可以在我的Activity之一中使用AlertDialog.Builder(this);,但是如果我想在多个活动中使用它,该怎么办?如果这是其他课程,我会扩展它,所以MyDialog extends AlertDialog,但后来我不能使用Builder

有什么建议吗?

回答

7

打包一个类文件,如AllMethod.java,并将该代码添加到该类文件中。

public static void showAlert(Activity act, String msg, DialogInterface.OnClickListener listener) { 
     AlertDialog.Builder alert = new AlertDialog.Builder(act); 
     alert.setMessage(msg); 
     alert.setPositiveButton("OK", listener); 
     alert.show(); 
    } 

你可以使用任何类如下面的代码。

AllMethod.showAlert(mActivity, "", new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface dialog, int which) { 
     // Do your code for click 
     } 
}); 
+0

我知道这是一个旧帖子,但我相信它回答了我的问题。但是,如果我想向对话框中添加一个动作(比如说刷新活动中的列表),我是否简单地向函数添加一个返回值并在活动中处理它? (发布后,我意识到这是如此简单,但我会在这里留下这个评论) – Woodsy 2011-07-12 15:51:52

+0

如果你想刷新列表上的“确定”按钮的对话框,然后添加你的刷新代码(adapter.notifyDataChange())在onClick的正面按钮,并添加负面按钮,无事可做。 – 2011-07-13 04:03:59

+1

@CapDroid如果你手动添加代码到你的onClick处理程序,那么这个对话框不再是可重用的,或者实际上会紧密耦合到调用者的业务逻辑。 – Sukima 2014-09-25 21:59:12

相关问题