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>