在 onClick 中获取 Dialog 的引用

Get Reference of Dialog in onClick

我正在通过单击 activity 中的按钮创建自定义对话框。对话框中有按钮,我是这样设置的:

 Button buttonTakePicture = (Button)dialog.findViewById(R.id.buttonTakePicture);
 buttonTakePicture.setOnClickListener(this);

我的 Activity 正在实施 onClickListener,重写的 onClick 方法如下所示:

@Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.buttonTakePicture:
                Dialog dialog = //Get the dialog somehow from view;
                if (dialog != null) {
                    dialog.dismiss();
                }
                takePicture();
                break;
        }
    }

我正在努力获取此处的对话框参考。我试过 (Dialog)view.getParent() 以及 (Dialog)view.getParent.getParent(),但它们不是 Dialogs.

I don't want to have a Dialog Field in my Activity unless it is the only way.

如有任何帮助,我们将不胜感激。提前致谢。

我有解决办法,

Button buttonTakePicture = (Button)dialog.findViewById(R.id.buttonTakePicture);
        buttonTakePicture.setTag(dialog);
        buttonTakePicture.setOnClickListener(this);

并得到这样的对话框,

@Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.buttonTakePicture:
                Dialog dialog = (Dialog) view.getTag();
                if (dialog != null) {
                    view.setTag(null);
                    dialog.dismiss();
                }
                takePicture();
                break;
        }
    }