【问题标题】:Android get layout name where string is usedAndroid获取使用字符串的布局名称
【发布时间】:2016-09-07 11:16:56
【问题描述】:

有什么方法可以获取使用字符串的布局。 示例:“提交”字符串用于注册布局。我怎么知道?

【问题讨论】:

  • 你能再具体一点吗?

标签: android android-layout android-studio


【解决方案1】:

试试这个代码:

 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;
}

【讨论】:

    【解决方案2】:

    你只问了半个问题,所以我做了一些假设

    • 您在代码和 IDE 中谈论的内容 - 不是运行时
    • 您将字符串正确存储在 Strings.xml 中
    • 您正在使用 Android Studio(和 windows)

    打开 Strings.xml,单击资源的 Key (Name) 部分,然后按 Alt + F7 查找用法。

    或者,如果您需要进行全文搜索,请按 Ctrl + Shift + F7 使用 Find in Path 搜索整个项目

    编辑地址评论

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

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

    【讨论】:

    • 对不起,我忘了提,我需要通过编程来获得它,这样才能在一些 espresso 测试中打开它。
    • 所以你的问题是关于如何用 espresso 找到风景!?这与您所写的内容无关,但我也知道解决方案
    猜你喜欢
    • 2017-02-22
    • 2021-05-26
    • 2011-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-08
    • 2016-05-15
    • 2016-03-05
    相关资源
    最近更新 更多