Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在recycleview的新行中创建页脚_Java_Android_Listview_Android Recyclerview - Fatal编程技术网

Java 在recycleview的新行中创建页脚

Java 在recycleview的新行中创建页脚,java,android,listview,android-recyclerview,Java,Android,Listview,Android Recyclerview,我的列表只有三个项目,我使用的是两列的GridLayout,所以当调用它时,我发现rwo 2只有一个项目,最后一个是我的页脚,所以当我的列表有奇数移动新行时,我想添加一些空项目或移动我的页脚 您应该实现自己版本的,并通过调用将其添加到布局管理器中 SpanSizeLookup的说明如下 一个帮助器类,用于提供每个项占用的跨距数 因此,对于每个正常项目,您将返回1(使用的列),如果是页脚,则需要从getSpanSize(int position)返回2(或列总数),然后设置 这将向布局管理器发出

我的列表只有三个项目,我使用的是两列的GridLayout,所以当调用它时,我发现rwo 2只有一个项目,最后一个是我的页脚,所以当我的列表有奇数移动新行时,我想添加一些空项目或移动我的页脚


您应该实现自己版本的,并通过调用将其添加到布局管理器中

SpanSizeLookup
的说明如下

一个帮助器类,用于提供每个项占用的跨距数

因此,对于每个正常项目,您将返回
1
(使用的列),如果是页脚,则需要从
getSpanSize(int position)
返回
2
(或列总数),然后设置

这将向布局管理器发出需要整行的信号

   @Override
public void onBindViewHolder(final RecyclerView.ViewHolder holder,  int position) {

    if (holder instanceof FooterViewHolder) {
        loadChatMessages();
    }
private boolean isPositionFooter(int position) {
    return position == dish.size();
}

@Override
public int getItemViewType(int position) {

    if (isPositionFooter(position)) {
        return TYPE_FOOTER;
    }
    return TYPE_ITEM;
}

@Override
public int getItemCount() {
    return dish.size() + 1;
}