Espresso:如何点击 viewpager 中的 StickyListHeadersListView 项目

Espresso: how to click on StickyListHeadersListView item inside viewpager

我有 ViewPager 和 N 个选项卡,每个选项卡中都有 StickyListHeadersListView。我想执行单击列表项之一。我怎么能那样做? 谢谢!

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

使用 Listview,您放入 fragment.view 寻呼机有片段。在您可以检查片段中的单击列表项之后。 自定义:https://github.com/JakeWharton/ViewPagerIndicator

将此代码放在要在 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();
}

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

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