我正在尝试使用Android uiautomator自动执行联系人选择过程。我的UI看起来像下面的图像。我使用下面的代码检查每个联系人
for (String contactName : list) {
UiScrollable scrollable = new UiScrollable(new UiSelector().className(
android.widget.ListView.class).scrollable(true))
.setAsVerticalList();
try {
UiObject obj = scrollable.getChildByText(LIST_VIEW_ITEM, contactName, true);
obj.click();
} catch (Exception e) { }
finally {
scrollable.scrollToBeginning(scrollable.getMaxSearchSwipes());
}
}
此代码效率低下。找到每个联系人并检查需要很长时间。是否需要循环每一行并检查?
谢谢。
答案 0 :(得分:0)
尝试以下代码
for(int i=0;i<n;i++)new UiObject(new UiSelector().className("android.widget.CheckBox").instance(i)).click();
答案 1 :(得分:0)
我不太确定,但我认为它应该可行。
尝试制作所有复选框的UiCollection(例如复选框),然后复选框.click()。
UiCollection从UiObject继承了这个方法,所以我猜它会在每一个中点击,但我还没有尝试过。如果它有效,我将编辑我的答案以消除疑问:)