Android:多个Recycler View Inside Fragment

时间:2015-09-18 04:18:25

标签: android android-fragments android-recyclerview recycler-adapter

我在一个片段中加载多个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;

3 个答案:

答案 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中添加更多内容。这是一种静态的方式,可能是你正在寻找的东西,但动态方法本身就能很好地发挥作用。例如,您可以根据数组大小在循环中触发它们。每个都将被执行以依次查看。对于用户他们都在场。虽然回收者列表也需要以编程方式完成。