2011-09-17 9 views
6

アンドロイドMessageboxはクローズアンドロイドMessageboxは

public void msbox(String str,String str2) 
{ 
    AlertDialog.Builder dlgAlert = new AlertDialog.Builder(this);      
    dlgAlert.setMessage(str2); 
    dlgAlert.setTitle(str);    
    dlgAlert.setPositiveButton("OK", null); 
    dlgAlert.setCancelable(true); 
    dlgAlert.create().show(); 
    finish(); 
} 

はSOの質問を参照この

public void msbox(String str,String str2) 
{ 
    AlertDialog.Builder dlgAlert = new AlertDialog.Builder(this);      
    dlgAlert.setTitle(str); 
    dlgAlert.setMessage(str2); 
    dlgAlert.setPositiveButton("OK",new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int whichButton) { 
      finish(); 
     } 
    }); 
    dlgAlert.setCancelable(true); 
    dlgAlert.create().show(); 
} 
+1

http://stackoverflow.com/questions/3782676/alertdialog-doesnt-wait-for-input –

+0

を入力いただき、ありがとうございます。 –

+0

あなたはそれを好きに使った場合、私はそれをaswerとして提供する必要がありますか? –

答えて

6

ようにする必要があります表示されません。 :AlertDialog doesn't wait for input

AlertDialogで[OK]をクリックしたときにコールバック(OnClickListener)を実装する必要があります。

このすべてのAndroidのダイアログボックスが(非ブロック呼び出し元のスレッドを)モーダルされていないため、

dlgAlert.setPositiveButton("OK",new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int whichButton) { 
     // call your code here 
    } 
}); 
5

あなたはアンドロイドでダイアログボックス(C#で名前のメッセージボックス、vb.netなど)を作成したい場合プログラミングしてから、このコードをコピーして、必要なボタンのクリックイベントに貼り付けます。

AlertDialog.Builder builder = new AlertDialog.Builder(this); 
    builder 
    .setTitle("Deleting a Contact No") 
    .setMessage("Are you sure?") 
    .setIcon(android.R.drawable.ic_dialog_alert) 
    .setPositiveButton("Yes", new DialogInterface.OnClickListener() 
    { 
     public void onClick(DialogInterface dialog, int which) 
     {  
       //do some thing here which you need 
    } 
    });    
    builder.setNegativeButton("No", new DialogInterface.OnClickListener() 
    { 
     public void onClick(DialogInterface dialog, int which) 
     { 
     dialog.dismiss();   
     } 
    });   
AlertDialog alert = builder.create(); 
     alert.show();