2016-07-26 57 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

你是什麼意思'測試對話框的消息? – 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

給這個一杆。而不是使用dBuilder.create()初始化myDialog,而是使用構建器的構造:

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();