使用了recyclerview的fragment嵌套viewpager的问题
public class Main_Frag1 extends Fragment {
public static Main_Frag1 newInstance(Context context,Bundle bundle) {
Main_Frag1 newFragment = new Main_Frag1();
newFragment.setArguments(bundle);
return newFragment;
}
private RecyclerView re;
@Override
public View onCreateView(LayoutInflater inflater,ViewGroup parent,Bundle savedInstanceState)
{
View v=inflater.inflate(R.layout.recyclerview,parent,false);
re=(RecyclerView)v.findViewById(R.id.recyclerview);
return v;
}
@Override
public void onActivityCreated(Bundle savedInstanceState)
{
super.onActivityCreated(savedInstanceState);
re.setLayoutManager(new LinearLayoutManager(re.getContext()));
re.setHasFixedSize(true);
MyAdapter my=new MyAdapter();
re.setAdapter(my);
}
class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> // Recyclerview的MyAdapter
{
private ViewPager mvp;
private List<Fragment> lists=new ArrayList<>();
public MyAdapter()
{
}
public class ViewHolder extends RecyclerView.ViewHolder
{
public ViewHolder(View view)
{
super(view);
mvp=(ViewPager)view.findViewById(R.id.main_viewpager);
}
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup viewgroup,int viewType)
{
View view=LayoutInflater.from(viewgroup.getContext()).inflate(R.layout.main_activity_frag1, viewgroup, false);
ViewHolder vh=new ViewHolder(view);
return vh;
}
@Override
public void onBindViewHolder(ViewHolder viewholder,int position) //再一次加载的时候
{
Fragment view1=new View1();
Fragment view2=new View2();
lists.add(view1);
lists.add(view2);
mvp.setOffscreenPageLimit(3);
FragAdapter fragAdapter=new FragAdapter(getChildFragmentManager(),lists);
mvp.setAdapter(fragAdapter);
}
@Override
public int getItemCount()
{
return 1;
}
class FragAdapter extends FragmentPagerAdapter //FragAdapter类
{
private List<Fragment> lists;
public FragAdapter(FragmentManager fm,List<Fragment> list)
{
super(fm);
lists=list;
}
public Fragment getItem(int position)
{
return lists.get(position);
}
public int getCount()
{
return lists.size();
}
} // FragAdapter类
}
}
我在fragment里用了recyclerview,这时是没问题的,然后我就在布局文件里加了viewpager,再在recyclerview里嵌套viewpager,viewpager自己又加载两个fragment,运行的时候,刚开始加载这个fragment的时候是没问题的,然后就滑去了其他的fragment(最外层的这个fragment Main_Frag1)是在tablayout里的,这个tablayout里有6个fragment,当我再滑回Main_Frag1时,就崩溃了,
出现了 java.lang.IllegalArgumentException: No view found for id 0x7f0c006b (com.test_bilibili:id/main_viewpager) for fragment View1{6aa8e7b #0 id=0x7f0c006b android:switcher:2131492971:0} 这个错误
请问各位大这个问题应该如何解决?