我想浏览一些复选框及其所属的TextView。我可以设法选择复选框的TextView布局,但是另一种方法不起作用,因为TextView周围还有一个附加的层次结构级别。
层次结构如下
<ListView>
<LinearLayout>
<RadioButton> : checked
<RelativeLayout>
<TextView> : ABC
<TextView>
</RelativeLayout>
</LinearLayout>
<LinearLayout>
<RadioButton> : unchecked
<RelativeLayout>
<TextView> : DEF
<TextView>
</RelativeLayout>
</LinearLayout>
</ListView>
如果我想单击选中的单选框的TextViews布局,则以下选择器将按预期工作:
new UiSelector().className("android.widget.RadioButton").checked(true).fromParent(new UiSelector().className(android.widget.RelativeLayout));
当我尝试另一种方法时,单击属于TextView“ DEF”的单选按钮,则该按钮不起作用,因为介于两者之间存在另一个层次结构级别,并且fromParent仅引用RelativeLayout中的另一个TextView和不是需要的RadioButton:
new UiSelector().text("DEF").fromParent(new UiSelector().className("android.widget.RadioButton"));
基本上,我只想单击属于TextView的RadioButton来获取指定的文本。在此示例中,我想检查TextView“ DEF”的当前未选中的RadioButton。 我想通过使用UiSelector来直接识别它,而不是通过在TextView uiObject上多次调用UiObject.getParent以便在层次结构中导航来逐步实现它。
谢谢