我正在构建一个在一个片段中有三个RecyclerView的应用程序,以显示项目的水平列表。我创建了一个LinearLayoutManager对象并将其设置为所有三个RecyclerView。但它崩溃的应用程序,说一个LinearLayoutManager只能连接到一个RecyclerView。为什么我不能附加到所有虽然我需要相同的属性。 代码是......
LinearLayoutManager llm = new LinearLayoutManager(getActivity());
llm.setOrientation(LinearLayoutManager.HORIZONTAL);
recViewTopSell.setLayoutManager(llm);
recViewBrands.setLayoutManager(llm);
recViewCategory.setLayoutManager(llm);
出现错误
recViewBrands.setLayoutManager(llm);
recViewCategory.setLayoutManager(llm);
答案 0 :(得分:0)
不,它不能像那样重复使用。
在您的情况下,LayoutManager
,LinearLayoutManager
包含特定于与其一起使用的RecyclerView的状态。
如果三个不同的LayoutManger涉及很多设置,请考虑使用createLayoutManager()
方法来调用三次。
答案 1 :(得分:-1)
关注Mattias,请执行以下操作:
recViewTopSell.setLayoutManager(newLLM());
recViewBrands.setLayoutManager(newLLM());
recViewCategory.setLayoutManager(newLLM());
然后:
private LinearLayoutManager newLLM() {
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity());
linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
return linearLayoutManager;
}