我在一个片段中加载多个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;
答案 0 :(得分:2)
您对两者都使用相同的视图ID:'R.id.recycler_view_home'
答案 1 :(得分:2)
问题是两个RecyclerView引用都在xml中引用相同的RecyclerView('R.id.recycler_view_home')
。您正在设置Visible的可见性,然后Gone到相同的RecyclerView,这就是为什么没有出现的原因。
答案 2 :(得分:0)
您需要以编程方式创建布局,以处理它们。这意味着您还需要考虑他们将自己置于视图中的位置。例如,第二个Recycler位于第一个旁边1.很抱歉,我不能提供如何做到这一点的例子,因为我正在研究这个问题。
编辑:如果按照其他人的建议执行操作,则可以执行此操作,但如果要添加更多内容,则意味着您需要在片段布局文件的layout.xml中添加更多内容。这是一种静态的方式,可能是你正在寻找的东西,但动态方法本身就能很好地发挥作用。例如,您可以根据数组大小在循环中触发它们。每个都将被执行以依次查看。对于用户他们都在场。虽然回收者列表也需要以编程方式完成。