2016-11-14 33 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(); 
    } 
}