首先要導入一個 XListVIewlib 包java
咱們在佈局文件中須要一個XListView的控件,前提是me.maxwin.view.XListView包下的,由於我導入的就是這個包下的佈局
java代碼中實現:優化
我定義一個XListView 來初始化控件this
private XListView my_XListView;spa
// 設置下拉刷新
my_XListView.setPullRefreshEnable(true);
// 設置上拉加載
my_XListView.setPullLoadEnable(true);
// 添加數據的一個方法
addMagger();
// 設置優化
my_XListView.setAdapter(new MyBaseAdapter());
// 設置監聽事件
my_XListView.setXListViewListener(new IXListViewListener() {
//上拉加載實現的方法
public void onRefresh() {
Toast.makeText(MainActivity.this, "上拉加載新數據", 0).show();
// 重新加載數據的方法
addMagger();
//此方法在下面
stopLoadOrRefresh();
}事件
public void onLoadMore() {
Toast.makeText(MainActivity.this, "下拉加載舊數據", 0).show();
// 重新加載數據的方法
addMagger();
//此方法在下面
stopLoadOrRefresh();
}
});get
這個方法在運行setCListViewListener方法後會用到,裏面的兩個調用方法是每次運行完後必需要進行的it
public void stopLoadOrRefresh() {
// 顯示下拉的
my_XListView.stopLoadMore();
// 影藏舊數據?
my_XListView.stopRefresh();
}ast
加載數據的方法List
// 添加數據 private void addMagger() { //判斷原來的數據條目數 int size = listSong.size(); //添加新的條目數 for (int i = 0; i < 10; i++) { listSong.add("聊天消息:" + (size + i + 1)); } //想要顯示的條目數 list = new ArrayList<String>(); //倒序排列出來,實現新聞的下拉刷新,能夠用新的數據把舊的數據頂到下邊兒 for (int m = (listSong.size() - 1); m > -1; m--) { list.add(listSong.get(m)); } }