下载上XlistView第三方工具包
导入一张小图片,两个布局和三个自定义类之后
把以下内容赋值到 Values的 Strings中
<string name="xlistview_header_hint_normal">下拉刷新</string>
<string name="xlistview_header_hint_ready">松开刷新数据</string>
<string name="xlistview_header_hint_loading">正在加载...</string>
<string name="xlistview_header_last_time">上次更新时间:</string>
<string name="xlistview_footer_hint_normal">查看更多</string>
<string name="xlistview_footer_hint_ready">松开载入更多</string>
主要布局
<org.com.cctest.view.XListView
android:id="@+id/xListView"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</org.com.cctest.view.XListView>
MainActivity
package com.example.xlistviewtest;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import org.com.cctest.view.XListView;
import org.com.cctest.view.XListView.IXListViewListener;
import android.app.Activity;
import android.os.Bundle;
import android.text.format.DateFormat;
import android.widget.ArrayAdapter;
public class MainActivity extends Activity {
private List<String> list;
int j;
private ArrayAdapter<String> arrayAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setData();
final XListView xListView = (XListView) findViewById(R.id.xListView);
// 激活加载更多
xListView.setPullLoadEnable(true);
// 激活下拉刷新
xListView.setPullRefreshEnable(true);
// 设置xlistView上拉加载下拉刷新的监听
xListView.setXListViewListener(new IXListViewListener() {
@Override
// 下拉刷新的回调方法
public void onRefresh() {
// 下拉刷新,应该展示最新数据,所以清空集合
list.clear();
for (int i = 0; i < 5; i++) {
list.add("下拉刷新" + (j += 1));
}
arrayAdapter.notifyDataSetChanged();
//设置刷新时间
xListView.setRefreshTime(dateFormat());
//停止加载更多
xListView.stopLoadMore();
//停止刷新
xListView.stopRefresh();
}
@Override
// //上拉加载的回调方法
public void onLoadMore() {
for (int i = 0; i < 5; i++) {
list.add("上拉加载" + (j += 1));
}
arrayAdapter.notifyDataSetChanged();
//停止加载更多
xListView.stopLoadMore();
//停止刷新
xListView.stopRefresh();
}
});
arrayAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, list);
xListView.setAdapter(arrayAdapter);
}
/**
* 格式化毫秒值
*
* @return
*/
private String dateFormat() {
long currentTimeMillis = System.currentTimeMillis();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String format = dateFormat.format(currentTimeMillis);
return format;
}
private void setData() {
list = new ArrayList<>();
list.add("aaaaa");
list.add("bbbbb");
list.add("cccc");
list.add("ddddd");
list.add("eeee");
list.add("fffff");
list.add("gggg");
list.add("hhhhh");
list.add("iiiii");
}
}