XListView

来源:互联网 发布:现在的淘宝太坑了女孩 编辑:程序博客网 时间:2024/05/01 06:24
package com.liulailin.day09_xlistview;

import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import android.widget.Toast;

import com.bwei.utils.XListView;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener {

    private List<String> list;


    private Handler handler = new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);

            //刷新适配器
            adapter.notifyDataSetChanged();

            close();
        }
    };
    private Myadapter adapter;
    private XListView lv;

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

        initData();

        lv = (XListView) findViewById(R.id.lv);


        //可以上拉
        lv.setPullLoadEnable(true);
        //可以下拉
        lv.setPullRefreshEnable(true);


        lv.setXListViewListener(this);
        adapter = new Myadapter();

        lv.setAdapter(adapter);
    }


    public void close(){
        //停止加载更多
        lv.stopLoadMore();
        //停止刷新
        lv.stopRefresh();

        lv.setRefreshTime("2017:8:10");

    }


    /*
        下拉刷新时会调用此方法
     */
    @Override
    public void onRefresh() {
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {

                list.add(0,"给你范冰冰");


                handler.sendEmptyMessage(0);

            }
        },2000);

    }

    /**
     * 加载更多时会调用此方法
     */
    @Override
    public void onLoadMore() {

        handler.postDelayed(new Runnable() {
            @Override
            public void run() {

                list.add("给你很多个范冰冰");

                handler.sendEmptyMessage(0);

            }
        },2000);
    }


    class Myadapter extends BaseAdapter{

        @Override
        public int getCount() {
            return list.size();
        }

        @Override
        public Object getItem(int position) {
            return null;
        }

        @Override
        public long getItemId(int position) {
            return 0;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {

            TextView tv = new TextView(MainActivity.this);
            tv.setTextSize(25);
            tv.setText(list.get(position));
            return tv;
        }
    }


    /**
     * 初使化数据用的
     */
    private void initData() {
        list = new ArrayList<>();
        for (int x=0;x<10;x++){
            list.add("给我一个妹子"+x);
        }

    }

}