使用了recyclerview的fragment嵌套viewpager的问题

lacuscylin 2016-03-02 12:40:26
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} 这个错误

请问各位大这个问题应该如何解决?
...全文
1638 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_32164565 2016-09-05
  • 打赏
  • 举报
回复
我也有遇到这个问题, 网上有挺多的解决方案, 诸如什么用ChildFragmentManager, 什么在onDestroy的时候反射将manager置空的, 可是都不行... 我直接把FragmentPagerAdapter换成了PagerAdapter, 用View替换了Fragment...就可以了 同求大神解答
lukang423 2016-03-02
  • 打赏
  • 举报
回复
我也遇到了类似的问题,帮顶
内容概要:本文提出了一种针对两级电力市场环境下省间交易商的最优购电模型,重点考虑了现货市场与中长期市场的联动机制及市场风险因素,旨在帮助交易商在复杂多变的电力市场环境中制定科学合理的购电策略。模型以Matlab为工具实现,通过构建包含市场电价波动、负荷需求不确定性等风险源的优化框架,运用先进的数学规划方法求解最小化购电成本或风险调整后成本的决策方案。文中系统阐述了模型的目标函数设计、约束条件设定、风险量化机制(如VaR、CVaR)以及求解算法流程,并通过实际算例验证了模型在提升购电经济性、增强风险抵御能力方面的有效性与实用性。; 适合人群:适用于具备一定电力系统基础知识、运筹学理论背景及Matlab编程能力的高校学生、科研人员以及电力市场运营、能源交易等领域的专业从业者。; 使用场景及目标:①用于全国大学生数学建模竞赛A题等相关赛事中电力市场类问题的研究与求解;②为省级及以上电力交易机构和售电公司在跨区购电决策中提供计及风险的量化分析工具,实现成本控制与风险规避的平衡;③作为高等院校电力市场、能源经济等课程的教学案例,深化对现代电力市场机制与风险管理方法的理解。; 阅读建议:读者在学习过程中应重点关注模型对风险的建模方式与优化算法的具体实现细节,建议结合所提供的Matlab代码进行调试与仿真,通过改变市场参数、风险偏好和约束条件等方式开展敏感性分析,以深入掌握模型的适应性与鲁棒性。

80,490

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧