因為專案中多個列表都需要用到底部載入,所以我想了乙個簡單的底部載入方案。
先分析一下整個底部載入過程吧,首先為recyclerview設定滑動監聽,recyclerview滑動時判斷是否到達底部,到達就呼叫載入更多的方法。另外,還要控制載入過程的同步。
實現:1.建立了乙個類用來管理整個底部載入過程:
package sdu.edu.cn.utribe.bean;
import android.support.v7.widget.recyclerview;
import sdu.edu.cn.utribe.util.tool;
/** * created by lenovo on 2017/8/26.
*/public class bottommanager else
}).start();}}
}});
}public boolean isloading()
public void setloading(boolean loading)
public boolean isend()
public void setend(boolean end)
public recyclerview getrv()
public void setrv(recyclerview rv)
public inte***ce task
}
類中持有的幾個變數:loading標誌當前是否在載入,end標誌是否到底(沒有更多資料),rv就是目標recyclerview,task是判斷到底時要呼叫的載入更多的方法,是乙個介面。
tool.isslidetobottom是我寫在工具類裡的乙個靜態方法,根據recyclerview的滑動距離判斷是否到底。
//判斷列表是否滑到底部
public static boolean isslidetobottom(recyclerview recyclerview)
2.activity中的使用:
建立乙個botommanager例項,傳入目標列表和載入更多的方法
manager=new bottommanager(rv, new bottommanager.task()
});
在載入更多的方法中,載入完畢後設定manager的loading為false,如果獲取到的是空陣列設定end為true(這裡用了retrofit和gson)
private void getdata(int offsets)
});}
@override
public void onerror(throwable e)
@override
public void onnext(responsebody responsebody) .gettype();
listlist1= new gson().fromjson(obj.getstring("data"),listtype);
log.v("tag","我的帖子:"+obj.getstring("data"));
if (list1.size()<=0)
list.addall(list1);
break;
case 300:
break;
case 400:
break;
}} catch (jsonexception e) catch (ioexception e)
}});
}
3.其他
這裡判斷recyclerview是否到底的方法(isslidetobottom)不適用於巢狀在滾動條中的recyclerview,因為巢狀之後滾動行為完全是滾動條的滾動行為,而滾動條占得高度是自己的完全高度,recyclerview的isslidetobottom永遠會返回真。所以這種情況下要監聽滾動條是否到底:
scroll.setonscrollchangelistener(new nestedscrollview.onscrollchangelistener()
}});
RecyclerView去除底部分割線
recyclerview 預設的分割線divideritemdecoration 在最後乙個item顯示的時候也會有乙個分割線,影響應用整體的美觀。通過divideritemdecoration 原始碼發現分割線的行數是通過childcount來判斷的,而childcount正是我們分割線的個數,那...
MathType給公式底部加箭頭的教程
箭頭符號在數學中很常用的乙個符號了,不管是在推導過程用以表示邏輯關係,還是表示向量,箭頭符號都起著它就的作用。我們經常習慣給公式或者字母的上部加上箭頭,那如何給公式的底部加上箭頭呢?下面來介紹word公式編輯器 mathtype底部箭頭的編輯方法。具體操作步驟如下 1.按照自己的使用習慣將matht...
SceneKit 給底部加陰影的n種方式
本節學習目標 教大家三種給模型新增新增陰影的方式 第一種 讓設計直接給模型新增陰影,如下面 第二種 給模型底部新增地板,已系統的飛機模型為例 它是沒有陰影,接下來就是如何製作陰影 給飛機地下放置乙個floor模型,就會有陰影了 但是陰影不太明顯,如何讓陰影更加明顯一點呢?設定scnfloor 模型的...