关于 ListView 的点击有很多版本,在这里也跟大家分享一下我的这个版本
嘿嘿
欢迎大家指正
/**
*我的需求是找列表中符合某种条件的Item
*可以点进去查看
*思路:滑动一个,判断一个,也就是说,每次点击的都是当前屏幕的第一个
*/
public void findItem() {
solo.sleep(_1S);
//获取listView 随便怎么获取
ListView listView = solo.getView(ListView.class, 0);
if (listView.getCount() == 0) {
assertEquals("", "列表为空");
}
int clickLine = 1;
int oneScreenCount = listView.getChildCount();
for (int index = 0, size = listView.getCount(); index < size; index++) {
log("列表点击第" + (index + 1) + "个");
solo.clickInList(clickLine);
if ( your conditions) {
log("列表符合条件的是第" + (index + 1) + "个");
//break;
return;
}
if (index >= (size - oneScreenCount) || (size <= oneScreenCount)) {
//滑动到了列表的最后一屏
clickLine = clickLine + 1;
} else {
clickLine = 1;
}
if (index == (size - 1)) {
assertEquals("", "当前没有符合条件的东西");
}
solo.goBack();
solo.scrollListToLine(0, index + 1);
}
//如果return换成break 此时点击clickLine就是你想要的了
//solo.clickInList(clickLine);
}