フラグメント ダイアログのタイトルの文字列をリソースの R.id.string と比較する必要があります。このように見えます (ユーザー Robotium)。
assertTrue(doesAlertTitleExist(getSolo().getString(R.string.error_dialog_title_text)));
しかし、ActionBar Sherlock の助けを借りて作成されたダイアログ ウィンドウ フラグメントのタイトルからテキストを取得できません。このコードは、このダイアログが表示される画面からのビューのみを検索しますが、ダイアログからのビューは検索しません。
ここでスクリーンショットを見つけることができます: http://imgur.com/d1ZjL
public boolean doesAlertTitleExist(String extectedTitle) {
List<TextView> views = getDialogTextViews((ViewGroup) getSolo().getView(android.R.id.content));
assertNotNull(views);
for(TextView view : views){
if(view.getText().toString().equals(extectedTitle)){
return true;
}
}
return false;
}
private List<TextView> getDialogTextViews(ViewGroup view) {
List<TextView> out = new LinkedList<TextView>();
int count = view.getChildCount();
for(int i=0; i<count; i++){
View child = view.getChildAt(i);
if(child instanceof ViewGroup){
out.addAll(getDialogTextViews((ViewGroup) child));
}else if(child instanceof TextView){
out.add((TextView) child);
}
}
return out;
}