加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 使用DialogInterface.OnClickListener区分单个Dialog

发布时间:2020-12-15 01:01:36 所属栏目:Java 来源:网络整理
导读:我们有两个AlertDialog对象 AlertDialog dialog1,dialog2; 两个对话框都是通过AlertDialog.Builder创建的. 我们如何识别DialogInterface.OnClickListener中哪个对话框是事件源? 使用单个对话框我们可以这样做: AlertDialogInstance.setOnClickListener(myL
我们有两个AlertDialog对象
AlertDialog dialog1,dialog2;

两个对话框都是通过AlertDialog.Builder创建的.
我们如何识别DialogInterface.OnClickListener中哪个对话框是事件源?

使用单个对话框我们可以这样做:

AlertDialogInstance.setOnClickListener(myListener);

//myListener
public void onClick(DialogInterface arg0,int arg1) {
        switch (arg1) {
            case AlertDialog.BUTTON_NEGATIVE:
                // do something
                break;
            case AlertDialog.BUTTON_POSITIVE:
                // do something
                break;
            case AlertDialog.BUTTON_NEUTRAL:
                // do something
                break;
        }
    }

如何修改此开关逻辑以处理多个对话框?
(或者,如果有更好的系统来处理对话框,除了内联按钮回调,它是什么?)

解决方法

我建议你把自己需要的param放在自定义监听器中.
private class CustomOnClickListener implements OnClickListener {
    private int id;

    public CustomOnClickListener(int id) {
       this.id = id;
    }

    public void onClick(DialogInterface dialog,int which) {
            //check id and which
        }

}

然后,当您将onClickListeners添加到对话框时,您只需向侦听器提供一个id.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读