您的位置:首页 > 其它

二包Xlistview 上拉加载 下拉刷新 自己

2017-09-07 20:05 148 查看
//MaActivity  上拉下拉/////////////////////////////////

//复制三个类  一张图片   布局

package com.example.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 java.util.ArrayList;
public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener{

private XListView xlv;
private ArrayList<String> strings;
private Madapter madapter;
//主线程
private Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
madapter.notifyDataSetChanged();
close();//暂停刷新
}
};

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
xlv=(XListView)findViewById(R.id.xlv);
xlv.setPullLoadEnable(true);//允许加载
xlv.setPullRefreshEnable(true);//允许刷新
xlv.setXListViewListener(this);
initData();
madapter = new Madapter();
xlv.setAdapter(madapter);
}
//添加listview原有的数据
private void initData() {
strings = new ArrayList<>();
for (int i=0;i<5;i++){
strings.add("张三"+i);
}
}

//下拉刷新
@Override
public void onRefresh() {
handler.postDelayed(
new Runnable() {
@Override
public void run() {
strings.add(0,"花开了");
handler.sendEmptyMessage(1);
}
},2000);
}

//上啦加载
@Override
public void onLoadMore() {
handler.postDelayed(
new Runnable() {
@Override
public void run() {
strings.add("鸟没了");
handler.sendEmptyMessage(1);
}
},2000
);
}

public void close(){
xlv.stopLoadMore();
xlv.stopRefresh();
xlv.setRefreshTime("刚刚");
}

//适配器
class Madapter extends BaseAdapter{
@Override
public int getCount() {
return strings.size();
}

@Override
public Object getItem(int position) {
return strings.get(position);
}

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

@Override
public View getView(int position, View convertView, ViewGroup parent) {
TextView textView = new TextView(MainActivity.this);
textView.setText(strings.get(position));
textView.setTextSize(25);
return textView;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: