Java 网格布局管理器

Java 网格布局管理器,java,android,android-recyclerview,gridlayoutmanager,Java,Android,Android Recyclerview,Gridlayoutmanager,我正在开发一个android应用程序,它有一个recyclerView适配器,带有两个视图支架,当视图类型为traveler set span count 1,当视图类型为folder set span count 2,但始终有一个span count时,我会尝试创建两个视图支架,这是我使用的网格布局管理器 GridLayoutManager gridLayout = new GridLayoutManager(this, 2); gridLayout.setSpanSizeLo

我正在开发一个android应用程序,它有一个recyclerView适配器,带有两个视图支架,当视图类型为traveler set span count 1,当视图类型为folder set span count 2,但始终有一个span count时,我会尝试创建两个视图支架,这是我使用的网格布局管理器

    GridLayoutManager gridLayout = new GridLayoutManager(this, 2);
    gridLayout.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
        @Override
        public int getSpanSize(int position) {
            if (adapter.getItemViewType(position) == TYPE_FOLDER)
                return 2;
            else
                return 1;
        }

    });
    recyclerView.setLayoutManager(gridLayout);
下面是适配器中的获取视图类型

    @Override
public int getItemViewType(int position) {

    Object obj = data.get(position);
    if (obj instanceof Traveler)
        return TYPE_TRAVELER;
    else if (obj instanceof MainItem)
        return TYPE_FOLDER;

    throw new IllegalArgumentException("Invalid position " + position);
}
还有这个应用程序的屏幕截图


“app_屏幕截图”

请仅对涉及android IDE的问题使用标签android studio-studio@ConstantinBeer对不起