2016-11-14 34 views
1

方法来创建对话框:关闭自定义对话框的另一种方法

public void reservar(View view) { 

      Dialog d = new Dialog(this); 
      d.setContentView(R.layout.dialog_reserva); 
      d.show(); 
} 

在这里,我创建的另一种方法,我不能关闭“d”对话框:

public void reservarD(View view){ 
     AlertDialog.Builder builder = new AlertDialog.Builder(this); 
     builder.setPositiveButton("Confirmar reserva", new DialogInterface.OnClickListener(){ 
      @Override 
      public void onClick(DialogInterface dialog, int which){ 


      } 
     }); 
     builder.show(); 

    } 
+0

我想使你想在这里实现什么意义。而且,这真的很让人困惑。我认为你在这里做的是。你创建了一个方法来显示一个对话框,另一个关闭它? –

+1

你好,我不明白你想做什么,但如果你想从你的方法之外关闭你的对话框,那么你必须要求全局定义你的对话框对象。 –

+0

@ItuokeAjanlekoko,对不起!我是一个新手即时通讯Java(我是一个前端开发,rsrsrs)。我在这个月冒险进入这种语言,但答案解决了我的问题,我在范围内声明了方法......我应该在全球范围内:S newbie problem rsrsrs – user3010152

回答

1

定义对话框d为全局变量。

Dialog d; 

public void reservar(View view) { 
       d = new Dialog(this); 
       d.setContentView(R.layout.dialog_reserva); 
       d.show(); 
    } 

然后

public void anotherMethod(){ 
    if(d!=null){ 
     d.dismiss(); 
    } 
}