Android uiautomator - 一次选择多个项目

时间:2013-08-06 17:51:24

标签: android uiautomator

我正在尝试使用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());
  }             
}

此代码效率低下。找到每个联系人并检查需要很长时间。是否需要循环每一行并检查?

谢谢。

this

2 个答案:

答案 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继承了这个方法,所以我猜它会在每一个中点击,但我还没有尝试过。如果它有效,我将编辑我的答案以消除疑问:)