使用robotium单击动态膨胀的视图

时间:2013-03-12 15:14:40

标签: android robotium

在我的应用程序中,由于数据来自服务器,因此我动态地多次向视图充气。例如,我多次膨胀linearLayout。现在我试图用robotium测试这些动态视图的点击。问题是动态添加的布局具有相同的ID,并且这些布局会多次添加。如何单击每个动态膨胀的线性布局。

3 个答案:

答案 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)

可以通过多种方式完成。一个简单的解决方案是当您向视图膨胀时,在此时应用单击侦听器。就像你使用一些循环一样,在每次迭代中,在循环中添加点击监听器。