UsingXListView上拉加载

来源:互联网 发布:动漫壁纸软件下载 编辑:程序博客网 时间:2024/06/06 12:53

1。主界面MainActivity

package com.example.usingxlistview;

import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import me.maxwin.view.XListView;

public class MainActivity extends Activity {

    private XListView mXlv;
    // 适配器
    private ArrayAdapter<String> mAdapter;
    // 数据
    private List<String> mList = new ArrayList<String>();

    /**
     * 造数据
     */
    private void generateData() {
        int size = mList.size();
        // 一页显示10条
        for (int i = 0; i < 10; i++) {
            mList.add(0,"item" + (size + i));
        }
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mXlv = (XListView) findViewById(R.id.xlv);

        //支持下拉刷新
        mXlv.setPullRefreshEnable(true);
        //支持上拉加载
        mXlv.setPullLoadEnable(true);
        // 造数据
        generateData();
        //创建adapter
        mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mList);
        mXlv.setAdapter(mAdapter);
        
        mXlv.setXListViewListener(new XListView.IXListViewListener() {
            
            @Override
            public void onRefresh() {
                mList.clear();//清空数据
                generateData();
                //刷新
                mAdapter.notifyDataSetChanged();
                //设置ui状态
                stopLoadOrRefresh();
            }
            
            @Override
            public void onLoadMore() {
                generateData();//加载下一页数据
                //刷新
                mAdapter.notifyDataSetChanged();
                //设置ui状态
                stopLoadOrRefresh();
            }
        });
    }
    
    
    private void stopLoadOrRefresh(){
        mXlv.stopLoadMore();
        mXlv.stopRefresh();
    }

}

2.布局文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="${relativePackage}.${activityClass}" >
    <me.maxwin.view.XListView
        android:id="@+id/xlv"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>

</RelativeLayout>

备注:上拉刷新的demo,需要连接库类XListView

0 0