XListView上拉加载,下拉刷新

来源:互联网 发布:电脑维修网站源码 编辑:程序博客网 时间:2024/06/16 00:41

//布局文件,导入文件

XListView
XListViewFooter
XListViewHeader

list_item.xml
activity_main.xml
main.xml
xlistview_footer.xml
xlistview_header.xml


//MainActivity代码

package com.example.myxlistview;import android.os.Build;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.annotation.RequiresApi;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.TextView;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity implements  XListView.IXListViewListener{    private XListView lv;    List<String> list=new ArrayList<String>();    private mydata mydata;    private Handler handler = new Handler(){        @Override        public void handleMessage(Message msg) {            super.handleMessage(msg);            mydata.notifyDataSetChanged();            close();        }    };    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        lv=(XListView)findViewById(R.id.lv);        mydata = new mydata();        //设置数据        geninfo();        lv.setPullLoadEnable(true);        lv.setPullRefreshEnable(true);        lv.setXListViewListener(this);        lv.setAdapter(mydata);    }//数据源    private void geninfo() {        for (int i=0;i<100;i++) {            list.add("啊" + i);        }    }    public  void close(){        lv.stopLoadMore();        lv.stopRefresh();        lv.setRefreshTime("2017-09-06");    }    //上拉刷新    @Override    public void onRefresh() {        handler.postDelayed(new Runnable() {            @RequiresApi(api = Build.VERSION_CODES.N)            @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 mydata extends BaseAdapter{        @Override        public int getCount() {            return list.size();        }        @Override        public Object getItem(int i) {            return list.get(i);        }        @Override        public long getItemId(int i) {            return i;        }        @Override        public View getView(int i, View view, ViewGroup viewGroup) {            ViewHolder vh;            if(view==null){                view=View.inflate(MainActivity.this,R.layout.list_item,null);                vh=new ViewHolder(view);                view.setTag(vh);            }else{                vh=(ViewHolder)view.getTag();            }            vh.textview.setText(list.get(i));            return view;        }        class ViewHolder{            private TextView textview;            ViewHolder(View view){                textview=(TextView)view.findViewById(R.id.list_item_textview);            }        }    }}

原创粉丝点击