如何获取片段对话框窗口的标题(app使用ActionBarSherlock)

时间:2012-06-15 15:58:48

标签: android android-fragments gettext actionbarsherlock

我需要将片段对话标题中的字符串与资源中的R.id.string进行比较。看起来像这样的smth(用户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;
}

0 个答案:

没有答案