1

我有一个动态构建的视图列表,因此它们都具有完全相同的资源 ID,并且没有描述。我可以区分它们之间差异的唯一方法是同一父级中的文本。我在想唯一的方法就是这样做:

Child >> parent >> child

在此处输入图像描述

正如你在上面看到的,我可以得到孩子MILESCALORIES. 我需要从大量的文本中获取文本。

4

1 回答 1

1

可以从大量视图中获取文本。假设布局是:

1. RelativeLayout
    0. Text View -> MILES
    1. Text View -> 0.50
2. RelativeLayout
    0. Text View -> CALORIES
    1. Text View -> 100

UiCollection resultsPage = new UiCollection(
            new UiSelector().className(android.widget.ListView.class.getName()));
UiObject resultLayout = resultsPage
            .getChildByText(new UiSelector()
                    .className(android.widget.RelativeLayout.class
                            .getName()), text); //where text can be MILES or CALORIES
UiObject score = resultLayout.getChild(new UiSelector()
            .resourceId(the resource id for the large text));
return (String) score.getText();

这个想法是隔离两个相对布局并在其中搜索文本,而不是整个 GUI。您可以使用 uiautomatorviewer 查看 GUI 布局。也许您可以使用详细的布局更新问题。

我可以使用它来给出更准确的答案。

于 2013-11-14T14:45:13.867 回答