0

在我的应用程序中,当数据来自服务器时,我已经多次动态地扩展视图。例如,我linearLayout多次充气。现在我正在尝试使用robotium 测试对这些动态视图的点击。问题是动态添加的布局具有相同的 id,并且会被多次添加。如何单击每个动态膨胀的线性布局。

4

3 回答 3

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;
}
于 2013-03-12T18:14:31.280 回答
0

用于solo.getView(view.class,index).performClick();获取特定索引中的视图并单击它。

于 2013-03-12T15:47:01.757 回答
0

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

于 2013-03-12T16:04:00.800 回答