您的位置:首页 > 移动开发 > Android开发

关于android中ListView的下拉刷新的底部时间更新问题

2012-11-14 14:04 393 查看
1.刚开始启动时需要的时间更新

2.之后的一直刷新的时间更新

// 刷新两者之前的时间判断

private String refreshtime; //这个String是调用onRefresh()方法的当前时间

private String lastime; //第一次启动Activity时通过SharedPreferences获取保存的时间

private String lastimes; //是软件启动之后把上一次的刷新时间设置给lastimes

private String nowtime; //启动Activity时的系统当前时间

public SharedPreferences settings;

// 判断是否是刚启动

private int time01 = 0;

private boolean time02 = true;

1.

@Override

public void onRefresh() {

// TODO Auto-generated method stub

handler.postDelayed(new Runnable() {

@Override

public void run() {

// TODO Auto-generated method stub

lastimes = refreshtime;

compareRefresh();

adapter = new SimpleAdapter(IndustyDetailActivity.this,

listitem, R.layout.item_detail_industy, new String[] {

"txt01", "txt02" }, new int[] { R.id.txt01,

R.id.txt02 });

xlist.setAdapter(adapter);

refreshtime = new SimpleDateFormat("MM-dd HH:mm")

.format(new Date());

SharedPreferences.Editor editor = settings.edit();

editor.putString("lastime", refreshtime);

editor.commit();

time02 = false;

onLoad();

}

}, 3000);

}

上面的方法是ListView下拉刷新自定义的一个接口,这个方法百度得到

2

private void onLoad() {

xlist.stopRefresh();

xlist.stopLoadMore();

// 判断刷新之间的时间

compareRefreshTime();

} //这个方法也是自定义ListView的时候自定义的

// 判断刷新之间的时间

private void compareRefreshTime() {

System.out.println("之后-->" + lastimes);

System.out.println("之后的刷新--->" + refreshtime);

long last = 0;

long refresh = 0;

try {

if (time01 < 2) {

last = new SimpleDateFormat("MM-dd HH:mm").parse(lastime)

.getTime();

time01++;

} else {

last = new SimpleDateFormat("MM-dd HH:mm").parse(lastimes)

.getTime();

}

if (time02) {

refresh = new SimpleDateFormat("MM-dd HH:mm").parse(nowtime)

.getTime();

time02 = false;

} else {

refresh = new SimpleDateFormat("MM-dd HH:mm")

.parse(refreshtime).getTime();

}

} catch (ParseException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

if ((refresh - last) / 60000 < 1) {

xlist.setRefreshTime("刚刚");

} else if ((refresh - last) / 60000 < 10) {

xlist.setRefreshTime((refresh - last) / 60000 + "分钟之前");

} else if ((refresh - last) / 3600000 < 10) {

xlist.setRefreshTime((refresh - last) / 3600000 + "小时之前");

} else {

xlist.setRefreshTime(lastime);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: