如何实现可重复使用的对话框?

3
什么是在Android中创建可重用对话框的最佳方法?
阅读Dialog dev guide,我知道我可以在我的一个Activity中使用AlertDialog.Builder(this);,但如果我想在多个Activity中使用怎么办?如果这是另一个类,我会扩展它,所以MyDialog extends AlertDialog,但是然后我就不能使用Builder了。
有什么建议吗?
1个回答

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
         }
});

我知道这是一个旧帖子,但我相信它回答了我的问题。然而,如果我想要在对话框中添加一个操作(比如刷新活动中的列表),我只需要在函数中添加一个返回值并在活动中处理它吗?(发完这个帖子后,我意识到这样做多么简单,但我还是会留下这个评论) - Woodsy
如果你想在对话框的“确定”按钮上刷新列表,那么请在正面按钮的onClick事件中添加你的刷新代码(adapter.notifyDataChange()),并添加一个负面按钮什么也不做。 - Niranj Patel
1
@CapDroid 如果您手动向 onClick 处理程序添加代码,则此对话框将不再是“可重用的”,实际上将与调用者的业务逻辑紧密耦合。 - Sukima

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接