2013-08-06 120 views
1

我正在尝试使用Android uiautomator自动执行联系人选择过程。我的用户界面如下图所示。我使用下面的代码来检查每个联系人Android uiautomator - 一次选择多个项目

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

回答

0

试试下面的代码

for(int i=0;i<n;i++)new UiObject(new UiSelector().className("android.widget.CheckBox").instance(i)).click(); 
0

我不能完全肯定,但我认为它应该工作。

尝试制作所有复选框的UiCollection(称为复选框),然后checkboxes.click()。

UiCollection从UiObject继承此方法,所以我猜想它会在每个对象中单击,但我没有尝试过。如果它有效,我会编辑我的答案以消除疑问:)