在 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;
}
}
我正在通过单击 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;
}
}