下拉刷新初体验之一 XListView

image
image
image

贴个github地址,XlistView包含了上拉刷新与下拉刷新

https://github.com/Maxwin-z/XListView-Android

想在自己的项目中使用可以把它变成库,在Is Library那里勾一下就行

使用时要记得设置监听器setXListViewListener()

下拉刷新的方法是onRefresh()

上拉刷新的方法是onLoadMore()

下面贴下源码

1
package com.lee.examplate;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import me.maxwin.view.XListView;
import me.maxwin.view.XListView.IXListViewListener;
import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.view.Menu;
import android.widget.ArrayAdapter;
public class MainActivity extends Activity implements IXListViewListener {
private XListView xlistview;
private Handler mHandler;
private ArrayAdapter<String> mAdapter;
private ArrayList<String> items = new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
xlistview= (XListView) findViewById(R.id.xListView);
xlistview.setPullLoadEnable(true);
mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, items);
xlistview.setAdapter(mAdapter);
xlistview.setPullLoadEnable(true);
xlistview.setPullRefreshEnable(true);
xlistview.setXListViewListener(this);
mHandler = new Handler();
initData();
}
private void initData() {
for (int i = 0; i < 10; i++) {
items.add("lixinyangblog.com"+i);
}
// TODO Auto-generated method stub
}
@Override
public void onRefresh() {
mHandler.postDelayed(new Runnable() {
// TODO Auto-generated method stub
@Override
public void run() {
items.add(0, "new data"+new Date());
mAdapter.notifyDataSetChanged();
xlistview.stopRefresh();
}}, 2000);
//下拉刷新的方法
}
@Override
public void onLoadMore() {
//上拉刷新的方法
mHandler.postDelayed(new Runnable() {
// TODO Auto-generated method stub
@Override
public void run() {
items.add("new data"+new Date());
mAdapter.notifyDataSetChanged();
xlistview.stopLoadMore();
}}, 2000);
// TODO Auto-generated method stub
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
<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=”.MainActivity” >
<me.maxwin.view.XListView
android:id=”@+id/xListView”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent” android:cacheColorHint=”#00000000″>
</me.maxwin.view.XListView>
</RelativeLayout

image
image
image