2016-07-26 4 views
1

я это AlertDialog и AlertDialog.Builder:Как получить доступ к сообщению AlertDialog, созданного AlertDialog.Builder?

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 ";' statement –

0

Попробуйте

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

Дайте этому выстрел. Вместо инициализации myDialog с помощью dBuilder.create() используйте конструкцию строителя:

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