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 中添加更多。这是一种静态的处理方法,可能正是您正在寻找的方法,但动态方法本身会很好用。例如,您可以根据数组大小在循环中触发它们。每一个都会被依次执行去查看。对于用户来说,它们都存在。尽管回收商列表也需要以编程方式完成。
我正在一个片段中加载多个 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 中添加更多。这是一种静态的处理方法,可能正是您正在寻找的方法,但动态方法本身会很好用。例如,您可以根据数组大小在循环中触发它们。每一个都会被依次执行去查看。对于用户来说,它们都存在。尽管回收商列表也需要以编程方式完成。