首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >一个LinearLayoutManager只能用于一个RecyclerView?

一个LinearLayoutManager只能用于一个RecyclerView?
EN

Stack Overflow用户
提问于 2016-04-21 18:22:03
回答 2查看 1.3K关注 0票数 3

我正在构建一个在一个片段中有三个RecyclerView的应用程序,以显示项目的水平列表。我创建了一个LinearLayoutManager对象,并将其设置为所有三个RecyclerView。但它崩溃了应用程序,说一个LinearLayoutManager只能连接到一个RecyclerView .why无法连接到所有,尽管我需要相同的属性。代码是..

代码语言:javascript
运行
复制
LinearLayoutManager llm = new LinearLayoutManager(getActivity());
        llm.setOrientation(LinearLayoutManager.HORIZONTAL);
        recViewTopSell.setLayoutManager(llm);
        recViewBrands.setLayoutManager(llm);
        recViewCategory.setLayoutManager(llm);

错误位于

代码语言:javascript
运行
复制
 recViewBrands.setLayoutManager(llm);
            recViewCategory.setLayoutManager(llm);
EN

回答 2

Stack Overflow用户

发布于 2016-04-21 18:29:22

不,它不能像那样重复使用。LayoutManager,在本例中为LinearLayoutManager,包含与其一起使用的特定于RecyclerView的状态。

如果这三个不同的LayoutMangers涉及很多设置,请考虑使用createLayoutManager()方法调用三次。

票数 0
EN

Stack Overflow用户

发布于 2016-04-21 18:45:38

按照Mattias的回答这样做:

代码语言:javascript
运行
复制
    recViewTopSell.setLayoutManager(newLLM());
    recViewBrands.setLayoutManager(newLLM());
    recViewCategory.setLayoutManager(newLLM());

然后:

代码语言:javascript
运行
复制
    private LinearLayoutManager newLLM() {
        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity());
        linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
        return linearLayoutManager;
    }
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36766682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档