XListView,下拉刷新,上拉加载
博客专区 > Jaume 的博客 > 博客详情
XListView,下拉刷新,上拉加载
Jaume 发表于1年前
XListView,下拉刷新,上拉加载
  • 发表于 1年前
  • 阅读 12
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: 主要更新新闻

首先要导入一个 XListVIewlib 包

我们在布局文件中需要一个XListView的控件,前提是me.maxwin.view.XListView包下的,因为我导入的就是这个包下的

java代码中实现:

我定义一个XListView 来初始化控件

private XListView my_XListView;

// 设置下拉刷新
        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();
            }
        });

 

这个方法在运行setCListViewListener方法后会用到,里面的两个调用方法是每次运行完后必须要进行的

public void stopLoadOrRefresh() {
        // 显示下拉的
        my_XListView.stopLoadMore();
        // 影藏旧数据?
        my_XListView.stopRefresh();
    }

 

加载数据的方法

// 添加数据
    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));
        }
    }

共有 人打赏支持
粉丝 4
博文 20
码字总数 5698
×
Jaume
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: