在我的应用程序中,由于数据来自服务器,因此我动态地多次向视图充气。例如,我多次膨胀linearLayout
。现在我试图用robotium测试这些动态视图的点击。问题是动态添加的布局具有相同的ID,并且这些布局会多次添加。如何单击每个动态膨胀的线性布局。
答案 0 :(得分:1)
这是一个静态函数,可以做你想要的(我想,我没有android sdk或我当前机器上的任何东西,因此无法测试)。我不会把它当作静态函数使用,我会把它放在一个有意义的地方,但你可以用它做你想要的!
public static List<View> getViewsById(Solo solo, int id) {
List<View> allViews = getViews();
List<View> matchedViews = new ArrayList<View>();
for(View view : allViews){
if(view!=null && view.getId() == id){
matchedViews.add(view);
}
}
return matchedViews;
}
答案 1 :(得分:0)
使用solo.getView(view.class,index).performClick();
获取特定索引中的视图,然后单击它。
答案 2 :(得分:0)
可以通过多种方式完成。一个简单的解决方案是当您向视图膨胀时,在此时应用单击侦听器。就像你使用一些循环一样,在每次迭代中,在循环中添加点击监听器。