一、demo功能
listview 清單倒計時,類似商品搶購清單
二、代碼介紹
1.功能
實作每個item 倒計時功能,不會因為複用産生錯位,以及資料的錯亂,解決了圖檔每次重新整理時閃爍問題
2.使用
Adapter檔案:
//開啟倒計時功能
public void start() {
isPlay = true;
runnable.run();
}
//關閉倒計時功能
public void stop(){
isPlay = false;
}
private Runnable runnable = new Runnable() {
@Override
public void run() {
if (!isPlay)
return ;
handler.postDelayed(this, );
notifyDataSetChanged();
}
};
每秒重新整理一次導緻部分手機在圖檔加載時出現閃爍的情況,需要進行下處理:
id設定tag,當圖檔加載位址相同時,這不重新整理,不同時,加載圖檔;
if(listposter.get(position).equals(viewHolder.iv_poster.getTag(R.id.iv_poster))) {} else {
// 如果不相同,就加載。現在在這裡來改變閃爍的情況 Glide.with(context).load(listposter.get(position)).diskCacheStrategy(DiskCacheStrategy.SOURCE).placeholder(R.drawable.ic_launcher).into(viewHolder.iv_poster); viewHolder.iv_poster.setTag(R.id.iv_poster,listposter.get(position));
}
主activity
加載adapter,開啟倒計時
adapter = new LimitAdapter(this, listtime,listposter);
listview.setAdapter(adapter);
if (isstart){
//開啟倒計時
adapter.start();
isstart=false;
}
在onPause()或者onDestroy()中,一定要記得關閉倒計時,調用stop();
3.效果圖
下面附帶下demo 下載下傳位址:
http://download.csdn.net/download/shanshan_1117/10134324