RecyclerView 嵌套viewpager 显示异常

想实现一个点击recyclerview item 在item布局中显示隐藏的viewpager,效果如下,出现的问题是:第二个ViewPager显示后是空白
图片描述

图片描述
代码如下:
在onBindViewHolder 中绑定点击事件:

((ViewHolder)holder).openCardView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            View vs= (View) v.getParent().getParent().getParent();
            View rootView=vs.findViewById(R.id.find_activity_extend_linearlayout);
            if(rootView.getVisibility()==View.VISIBLE){
                rootView.setVisibility(View.GONE);
            }else{
                rootView.setVisibility(View.VISIBLE);
                TabLayout tableLayout;
                ViewPager viewPager;
                tableLayout= (TabLayout) rootView.findViewById(R.id.extend_tabLayout);
                viewPager= (ViewPager) rootView.findViewById(R.id.viewpagers);
                Log.v("create viewPager", String.valueOf(viewPager.getChildCount()));
                viewPager.setAdapter(new TabPagerAdapter(fragment.getActivity().getSupportFragmentManager()));
                tableLayout.setupWithViewPager(viewPager);
                tableLayout.getTabAt(0).setText("简述");
                tableLayout.getTabAt(1).setText("详细信息");
                tableLayout.getTabAt(2).setText("活动数据");
            }
        }
    });
    

布局如下:
RecyclerView 布局

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#F2F2F2"
tools:context="com.example.chen1.uncom.find.FindPageMainFragment">

<android.support.v7.widget.RecyclerView
    android:layout_marginTop="2dp"
    android:layout_marginBottom="25dp"
    android:id="@+id/find_page_recyclerview"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
</android.support.v7.widget.RecyclerView>

</LinearLayout>
Item布局:
全复制有点乱,它的结构是这样的
<CardView>

 <LinearLayout>
     <ViewPager></ViewPager>
  </LinearLayout>

</CardView>
ViewPager 默认是隐藏的

阅读 6.9k
1 个回答
新手上路,请多包涵

楼主,请问您是怎么解决的啊,现在等,挺急的,我的QQ是1025202464

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题