public class MainActivity extends Activity {
private XListView mXLv;
private ArrayAdapter<String> mAdapter;
// 存放数据
private List<String> mList = new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 查找xlistview
mXLv = (XListView) findViewById(R.id.xlv);
generateData();
//创建adapter
mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mList);
mXLv.setAdapter(mAdapter);
//开启下拉刷新
mXLv.setPullRefreshEnable(true);
//开启上拉加载
mXLv.setPullLoadEnable(true);
mXLv.setXListViewListener(new XListView.IXListViewListener() {
@Override
public void onRefresh() {
mList.clear();//清空
generateData();
mAdapter.notifyDataSetChanged();
//停止加载或刷新
stopLoadOrRefresh();
}
@Override
public void onLoadMore() {
generateData();
mAdapter.notifyDataSetChanged();
//停止加载或刷新
stopLoadOrRefresh();
}
});
}
private void stopLoadOrRefresh(){
//停止加载
mXLv.stopLoadMore();
//停止刷新
mXLv.stopRefresh();
//最近一次刷新时间
mXLv.setRefreshTime("刚刚");
}
/**
* 生成数据
*/
private void generateData() {
int size = mList.size();
for (int i = 0; i < 10; i++) {
mList.add("Data " + (size + i));
}
}
}
private XListView mXLv;
private ArrayAdapter<String> mAdapter;
// 存放数据
private List<String> mList = new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 查找xlistview
mXLv = (XListView) findViewById(R.id.xlv);
generateData();
//创建adapter
mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mList);
mXLv.setAdapter(mAdapter);
//开启下拉刷新
mXLv.setPullRefreshEnable(true);
//开启上拉加载
mXLv.setPullLoadEnable(true);
mXLv.setXListViewListener(new XListView.IXListViewListener() {
@Override
public void onRefresh() {
mList.clear();//清空
generateData();
mAdapter.notifyDataSetChanged();
//停止加载或刷新
stopLoadOrRefresh();
}
@Override
public void onLoadMore() {
generateData();
mAdapter.notifyDataSetChanged();
//停止加载或刷新
stopLoadOrRefresh();
}
});
}
private void stopLoadOrRefresh(){
//停止加载
mXLv.stopLoadMore();
//停止刷新
mXLv.stopRefresh();
//最近一次刷新时间
mXLv.setRefreshTime("刚刚");
}
/**
* 生成数据
*/
private void generateData() {
int size = mList.size();
for (int i = 0; i < 10; i++) {
mList.add("Data " + (size + i));
}
}
}
本文介绍了一个自定义的XListView组件的使用方法,包括如何初始化、设置适配器、实现下拉刷新和上拉加载更多功能。通过示例代码展示了如何在Android应用中集成XListView并配置监听器来响应刷新和加载更多的事件。
202

被折叠的 条评论
为什么被折叠?



