【问题标题】:Android: Multiple Recycler View Inside FragmentAndroid:片段内的多个回收器视图
【发布时间】:2018-11-16 20:10:59
【问题描述】:

我正在一个片段中加载多个Recycler Views
问题是 Recycler Views 都没有工作。
我的代码如下所示:

 View rootView = inflater.inflate(R.layout.fragment_main, container, false);
     recyclerViewNoResult = (RecyclerView)rootView.findViewById(R.id.recycler_view_home);
                LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity());
                recyclerViewNoResult.setLayoutManager(linearLayoutManager);
                productListPageAdaptorNoView =  new ProductListPageAdaptorNoView();
                recyclerViewNoResult.setAdapter(productListPageAdaptorNoView);


     recyclerViewNoResult2 = (RecyclerView)rootView.findViewById(R.id.recycler_view_home);
                LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity());
                recyclerViewNoResult2.setLayoutManager(linearLayoutManager);
                productListPageAdaptorNoView2 =  new ProductListPageAdaptorNoView2();
                recyclerViewNoResult2.setAdapter(productListPageAdaptorNoView2);

     recyclerViewNoResult.setVisibility(View.VISIBLE);
     recyclerViewNoResult2.setVisibility(View.GONE);
return rootView;

【问题讨论】:

  • 你能发一下 R.layout.fragment_main

标签: android android-fragments android-recyclerview


【解决方案1】:

问题是两个 RecyclerView 引用都在 xml 中引用相同的RecyclerView('R.id.recycler_view_home')。您将可见性设置为 Visible,然后转到相同的 RecyclerView,这就是为什么什么都没有显示。

【讨论】:

    【解决方案2】:

    您对两者都使用相同的视图 ID:'R.id.recycler_view_home'

    【讨论】:

    • 是的,您尝试注释掉其中一个吗?
    • 如果你想在你的布局中使用多个视图,使用不同的 id 并使视图不会覆盖自己。而且您无条件地隐藏了您的一种观点。检查您的适配器并发布您的 xml 布局
    【解决方案3】:

    您需要以编程方式创建布局,以处理它们。这确实意味着您还需要考虑他们将自己放置在视图中的位置。例如,第二个 Recycler 位于第一个 1 旁边。抱歉,我无法提供如何做到这一点的示例,因为我自己目前正在研究。

    编辑:如果您按照其他人的建议进行操作,则可以这样做,但是如果您想添加更多内容,则意味着您需要在片段布局文件的 layout.xml 中添加更多内容。这是一种静态的方法,可能是您正在寻找的方法,但动态方法本身就可以很好地发挥作用。例如,您可以根据数组大小在循环中触发它们。每一个都会被执行依次去查看。对于用户来说,他们都在场。尽管回收商列表也需要以编程方式完成。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-25
      • 1970-01-01
      • 2016-07-22
      • 2018-05-08
      • 2017-12-11
      • 2021-12-07
      相关资源
      最近更新 更多