无法为gridviewlayoutmanager解析setSpanSizeLookup

时间:2015-06-04 21:20:11

标签: java android

我正在尝试根据我想要显示的对象类型设置自定义跨度大小,但是当我在IDE中收到以下错误时:

  

无法解决方法   SetSpanSizeLookup(anonymous.android.support.v7.widget.GridLayoutManager.SpanSizeLookup)

我无法弄清楚为什么这是因为它似乎是根据google支持的方法

mLayoutManager = new GridLayoutManager(this,3);

mLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
    @Override
    public int getSpanSize(int position) {
        switch(mAdapter.getItemViewType(position)){
            case MyAdapter.TYPE_HEADER:
                return 2;
            case MyAdapter.TYPE_ITEM:
                return 1;
            default:
                return -1;
        }
    }
});

1 个答案:

答案 0 :(得分:3)

您的mLayoutManager对象必须是GridLayoutManager类型。

如果您需要它是抽象类型LayoutManager(即使我无法想象这样的情况),您可以按如下方式进行投射:

((GridLayoutManager) mLayoutManager).setSpanSizeLookup(...)