Android获取使用字符串的布局名称

Android获取使用字符串的布局名称,android,android-layout,android-studio,Android,Android Layout,Android Studio,在使用字符串的地方,有没有办法得到布局。 示例:“提交”字符串用于注册布局。我怎么知道呢?试试下面的代码: private HashSet<TextView> getTextViews(ViewGroup root){ HashSet<TextView> views=new HashSet<>(); for(int i=0;i<root.getChildCount();i++){ View v=root.getChild

在使用字符串的地方,有没有办法得到布局。 示例:“提交”字符串用于注册布局。我怎么知道呢?

试试下面的代码:

 private HashSet<TextView> getTextViews(ViewGroup root){
    HashSet<TextView> views=new HashSet<>();
    for(int i=0;i<root.getChildCount();i++){
        View v=root.getChildAt(i);
        if(v instanceof TextView){
            if (((TextView) v).getText().equals("YOUR_STRING")){
                views.add((TextView)v);
            }
        }
    }
    return views;
}
private HashSet getTextViews(视图组根){
HashSet视图=新的HashSet();

对于(int i=0;i你只问了半个问题,所以我做了一些假设

  • 您在代码和IDE中所讨论的,而不是运行时
  • 确保将字符串正确存储在strings.xml中
  • 您正在使用Android Studio(和windows)
打开Strings.xml,单击资源的键(名称)部分,然后按Alt+F7查找用法

或者,如果需要进行全文搜索,请按Ctrl+Shift+F7以使用“查找路径”搜索整个项目

编辑以处理评论

要使用Espresso查找包含“提交”文本的视图,可以使用以下任一行

onView(withText("Submit"));
onView(withText(R.string.submit));

你能说得更具体一点吗?对不起,我忘了提一下,我需要通过编程将其打开,以便在一些浓缩咖啡测试中打开该通孔。因此,你的问题是如何使用浓缩咖啡找到视图!?这与你所写的内容无关,但我也知道解决方案