Espresso:如何在viewpager中单击StickyListHeadersListView项

时间:2015-05-20 04:48:27

标签: android android-espresso

我的ViewPager有N个标签,每个标签都有StickyListHeadersListView。我想点击其中一个列表项。我怎么能这样做? 谢谢!

PS:我只对Espresso测试代码感兴趣

3 个答案:

答案 0 :(得分:3)

我自己找到了解决方案。 主要问题 - StickyListHeadersListView是ListView的包装器,它不扩展ListView。所以我们不能直接使用适配器,但我们可以这样做:

onData(anything()).inAdapterView(allOf(
  isAssignableFrom(AdapterView.class), 
  isDescendantOfA(withId(R.id.list)), 
  isDisplayed()))
.atPosition(1).perform(click());

答案 1 :(得分:-2)

将此代码放在viewPager中添加视图的方法中: -

for(int i=0;i<arrPagerItems.size();i++)
{
    View viewPager;
    ListView listView;

    viewPager = inflater.inflate(R.layout.layout_pager,null);

    listView = (ListView) viewPager.findViewById(R.id.listView);

    listChat.setOnItemClickListener(new OnItemClickListener(){
    @Override
    public void onItemClick(AdapterView<?> arg0, View listView,int position,long arg3) {

            //do your task

            }
    });

    viewPagerAdapter.addView(viewPager, i);
    viewPagerAdapter.notifyDataSetChanged();
}

答案 2 :(得分:-3)

使用Listview,你把fragment.view pager放入片段。之后你可以检查片段中的clickitem。 自定义:https://github.com/JakeWharton/ViewPagerIndicator