2016-07-26 16 views
1

私はこのAlertDialogとAlertDialog.Builderを持っている:AlertDialog.Builderによって作成されたAlertDialogのメッセージにアクセスするには?

String message = "A message"; 
    AlertDialog.Builder dBuilder = new AlertDialog.Builder(this); 
    dBuilder.setMessage(message); 
    .... 
    AlertDialog myDialog = dBuilder.create(); 

は今、私はユニットテストを書いて、ダイアログのメッセージをテストする必要がありますしています。そのメッセージにはどうすればアクセスできますか?

+0

「ダイアログのメッセージをテストする」とはどういう意味ですか?dBuilder.create()でmyDialogを初期化する代わりに、ビルダーの構築を使用しますか? – Jas

+0

メッセージが特定の文字列と等しいかどうかをテストします – phong

+0

あなたのシナリオは何ですか?なぜあなたはそれをしたいのですか? – Jas

答えて

0

ビューを使用してTextViewを定義し、AlertDialog.Builder内にビューを追加します。

だから今、あなたはAlertDialogの中の文字列をテストしたいとき、ちょうどそれが

view.textView.getText().toString();

+0

問題はソースコードを変更できないことです。 – phong

+0

次に、エミュレータでソースコードをデバッグし、 'String message =" message ";'文の後にブレークポイントを追加します –

0

この

TextView textView = (TextView)myDialog.findViewById(android.R.id.message); 
Log.e("TEST", ""+textView.getText()); 
4

はこのショットを付けてみアクセスできます。

String message = "A message"; 
AlertDialog.Builder dBuilder = new AlertDialog.Builder(this); 
AlertDialog myDialog = dBuilder 
       .setMessage(message) 
       .show(); 
TextView messageTextView = (TextView)myDialog.findViewById(android.R.id.message); 
String dialogMessage = messageTextView.getText(); 
関連する問題