1

私は動的に構築されたビューのリストを持っているので、それらはすべてまったく同じリソース ID を持ち、説明はありません。それらの違いを区別できる唯一の方法は、同じ親にあるテキストです。私は唯一の方法は次のようにすることだと考えています:

Child >> parent >> child

ここに画像の説明を入力

MILES上記のように、子またはを取得できますCALORIES。多数からテキストを取得する必要があります。

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();

アイデアは、2 つの相対レイアウトを分離し、GUI 全体ではなく、それらの中のテキストを検索することです。uiautomatorviewer を使用して、GUI レイアウトを確認できます。詳細なレイアウトで質問を更新できるかもしれません。

より正確な答えを出すためにそれを使用できます。

于 2013-11-14T14:45:13.867 に答える