Java 如何在没有AlertDialog的自定义对话框中实现取消按钮?
我知道,有人问过类似的问题,我已经查遍了所有我能找到的东西,但我没有找到这个问题的答案 代码如下:Java 如何在没有AlertDialog的自定义对话框中实现取消按钮?,java,android,dialog,customdialog,Java,Android,Dialog,Customdialog,我知道,有人问过类似的问题,我已经查遍了所有我能找到的东西,但我没有找到这个问题的答案 代码如下: protected Dialog onCreateDialog(int id) { Dialog dialog = new Dialog(this); switch(id) { case R.layout.database_feed: dialog.setContentView(
protected Dialog onCreateDialog(int id)
{
Dialog dialog = new Dialog(this);
switch(id)
{
case R.layout.database_feed:
dialog.setContentView(R.layout.database_feed);
((Button) dialog.findViewById(R.id.discard_button)).setOnClickListener(
new View.OnClickListener()
{
//@Override
public void onClick(View v)
{
//dialog.cancel();
}
}
);
break;
}
return dialog;
}
我只想单击R.layout.database\u提要按钮关闭对话框。但是我没有访问onClick方法中的对话框的权限。我真的感到困惑
我不想使用AlertDialog或DialogBuilder,因为对话框中还有其他东西很难在AlertDialog或其他东西中实现。
另外,我已经知道了为对话框创建单独活动的解决方案,但实际上我想知道它是如何以我在这里尝试的方式工作的。
此外,我已经尝试使用DialogInterface.OnClickListener(),但在setOnClickListener(…)-方法中无法使用它
只是取消对话不会那么难。。。但我不明白
任何提示/帮助都将不胜感激
Thx变化
Dialog dialog = new Dialog(this);
到
然后,您可以在onClick()方法中访问dialog。要么将“dialog”存储为类变量,要么将其作为方法中的最终变量。很好,就是这样。我已经找了好几个小时了。谢谢额外提示:在eclipse中,当需要从匿名类中访问变量final时,声明变量final是默认的自动更正操作。
final Dialog dialog = new Dialog(this);