2013-07-30 56 views
0

我有一个使用对话框的活动。但是,当我单击对话框时,控件值和对话框关闭。单击对话框时对话框如何关闭?如何在onClick对话框不关闭

private Dialog ekleDialog(){ 

    AlertDialog.Builder builder = new AlertDialog.Builder(this); 
    View layout = LayoutInflater.from(this).inflate(R.layout.dialog_ekle, null); 

    builder.setTitle(R.string.ekleAction); 
    builder.setView(layout); 

    final EditText tutarEdit = (EditText) layout.findViewById(R.id.editTextTutar); 
    final EditText aciklamaEdit = (EditText) layout.findViewById(R.id.editTextAciklama); 

    final RadioButton gelirRadio = (RadioButton) layout.findViewById(R.id.radioGelir); 
    final RadioButton giderRadio = (RadioButton) layout.findViewById(R.id.radioGider); 

    builder.setNegativeButton(R.string.dialogCancel, new DialogInterface.OnClickListener() { 

     @SuppressWarnings("deprecation") 
     @Override 
     public void onClick(DialogInterface dialog, int which) { 
      removeDialog(EKLE); 

     } 
    }); 

    builder.setPositiveButton(R.string.dialogKaydet, new DialogInterface.OnClickListener() { 

     @SuppressWarnings("deprecation") 
     @Override 
     public void onClick(DialogInterface dialog, int which) { 

      float tutar = Float.parseFloat(tutarEdit.getText().toString()); 
      String aciklama = aciklamaEdit.getText().toString(); 

       if(tutarEdit.getText().toString().equals("") || aciklamaEdit.getText().toString().equals("")){ 
        Toast.makeText(MainActivity.this, R.string.toastMesaj, Toast.LENGTH_LONG).show(); 
       **Dialog not close !**  
       }else{ 
        ekleGelir(tutar, aciklama); 
        removeDialog(EKLE); 
        dialog.dismiss(); 
       } 
      } 
    }); 

    builder.setCancelable(true); 
    return builder.create(); 
} 

回答

0

只是走一个猜测在这里,但它可能有做的事情:

public void onClick(DialogInterface dialog, int which) { 
      removeDialog(EKLE); 
+0

:)感谢帮助我 – KaanInan

0

你不都dimiss对话框一个代码路径。尝试改变IT运

public void onClick(DialogInterface dialog, int which) { 

     float tutar = Float.parseFloat(tutarEdit.getText().toString()); 
     String aciklama = aciklamaEdit.getText().toString(); 

     if(tutarEdit.getText().toString().equals("") || aciklamaEdit.getText().toString().equals("")){ 
       Toast.makeText(MainActivity.this, R.string.toastMesaj, Toast.LENGTH_LONG).show(); 
     }else{ 
       ekleGelir(tutar, aciklama); 
       removeDialog(EKLE); 
     }    
     dialog.dismiss(); 
} 
+0

不幸的是,不是不到风度 – KaanInan

+0

还加dialog.dismiss()到你的负面按钮的onClick() – roostertech