Android:多个回收器视图内部片段

Android: Multiple Recycler View Inside Fragment

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

 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;

您正在为两者使用相同的视图 ID:'R.id.recycler_view_home'

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

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

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