【问题标题】:What's the best way to have reusable dialog boxes?拥有可重用对话框的最佳方式是什么?
【发布时间】:2011-05-17 05:25:17
【问题描述】:

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

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

有什么建议吗?

【问题讨论】:

    标签: android dialog android-alertdialog


    【解决方案1】:

    创建一个类文件,如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
             }
    });
    

    【讨论】:

    • 我知道这是一篇旧帖子,但我相信它回答了我的问题。但是,如果我想向对话框添加一个操作(比如刷新活动中的列表),我是否只需向函数添加一个返回值并在活动中处理它? (发布后我意识到这样做是多么简单,但无论如何我都会在这里留下这个评论)
    • 如果您想在对话框的“确定”按钮上刷新列表,然后在正面按钮的 onClick 中添加您的刷新代码(adapter.notifyDataChange()),然后添加负面按钮无事可做。
    • @CapDroid 如果您手动将代码添加到 onClick 处理程序,则此对话框不再可重用,或者实际上将与调用者的业务逻辑紧密耦合。
    猜你喜欢
    • 2010-11-30
    • 2016-12-01
    • 1970-01-01
    • 2015-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-22
    相关资源
    最近更新 更多