日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Android 實現列表倒計時功能

瀏覽:24日期:2022-09-26 11:42:00

單個計時器,然后遍歷數據 刷新條目;

Android 實現列表倒計時功能

兩種實現方式:1、Handler輪詢; 2、子線程睡眠(時間到后 移除列表中的條目會有問題);

代碼很簡單,沒有任何難度,列表使用 RecyclerView+BaseRecyclerViewAdapterHelper實現;

implementation ’androidx.recyclerview:recyclerview:1.1.0’ implementation ’com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.1’ public class MainActivity extends AppCompatActivity { private RecyclerView rv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); rv = findViewById(R.id.rv); initView(); initData(); findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { quickAdapter.addData(0,new TimeBean('附加商品、離活動結束還剩:' , 99)); rv.scrollToPosition(0); } }); } private QuickAdapter quickAdapter; private void initView() { quickAdapter = new QuickAdapter(R.layout.item); rv.setLayoutManager(new LinearLayoutManager(this)); rv.setAdapter(quickAdapter); rv.setItemAnimator(null); Countdown(); } private void initData() { List<TimeBean> datas = new ArrayList<>(); for (int i = 1; i < 10; i++) { datas.add(new TimeBean('商品' + i + '、離活動結束還剩:', (i + 5) * i)); } quickAdapter.setNewData(datas); } private class QuickAdapter extends BaseQuickAdapter<TimeBean, BaseViewHolder> { public QuickAdapter(int layoutResId) { super(layoutResId); } @Override protected void convert(BaseViewHolder vh, TimeBean datas) { vh.setText(R.id.tv, datas.getStr() + ''); vh.setText(R.id.tv2, datas.getTime() + 's'); } } private Handler mHandler = new Handler(); private Runnable runnable; private void Countdown() { runnable = new Runnable() { @Override public void run() { for (int i = 0; i < quickAdapter.getData().size(); i++) { TimeBean bean = quickAdapter.getData().get(i); if (bean.getTime() > 0) { bean.setTime(bean.getTime() - 1); quickAdapter.setData(i, bean); } else { quickAdapter.remove(i); } } mHandler.postDelayed(runnable, 1000L); } }; mHandler.postDelayed(runnable, 1000L); } private void Countdown2() { new Thread(new Runnable() { @Override public void run() { while (true){ SystemClock.sleep(1000L); for (int i = 0; i < quickAdapter.getData().size(); i++) { final TimeBean bean = quickAdapter.getData().get(i); final int finalI = i; if (bean.getTime() > 0) { bean.setTime(bean.getTime() - 1); runOnUiThread(new Runnable() { @Override public void run() { quickAdapter.setData(finalI, bean); } }); } else { // 當時間是0時 移除條目(子線程加睡眠模式移除條目有問題,原因時數據源未更新) runOnUiThread(new Runnable() { @Override public void run() { quickAdapter.remove(finalI); } }); } } } } }).start(); } @Override protected void onDestroy() { super.onDestroy(); mHandler.removeCallbacks(runnable); mHandler.removeCallbacksAndMessages(null); mHandler = null; }public class TimeBean { public TimeBean(String str, int time) { this.str = str; this.time = time; } private String str; private int time;}

Get 、 Set方法就不寫了;

布局文件:

<?xml version='1.0' encoding='utf-8'?><LinearLayout 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' android:orientation='vertical' tools:context='.MainActivity'> <Button android:layout_width='match_parent' android:layout_height='wrap_content' android: android:text='ADD' /> <androidx.recyclerview.widget.RecyclerView android: android:layout_width='match_parent' android:layout_height='match_parent'></androidx.recyclerview.widget.RecyclerView></LinearLayout>//下面是item<?xml version='1.0' encoding='utf-8'?><LinearLayout xmlns:android='http://schemas.android.com/apk/res/android' android:layout_width='match_parent' xmlns:tools='http://schemas.android.com/tools' android:orientation='horizontal' android:paddingBottom='@dimen/dp_10' android:layout_height='60dp'> <TextView android:background='#33fb1212' android: tools:text='你好啊' android:gravity='center_vertical' android:textSize='17dp' android:paddingLeft='15dp' android:textColor='#333' android:layout_width='0dp' android:layout_weight='2' android:layout_height='match_parent' /> <TextView android:background='#33fb1212' android: tools:text='0s' android:gravity='center_vertical' android:textSize='17dp' android:paddingLeft='15dp' android:textColor='#333' android:layout_width='0dp' android:layout_weight='1' android:layout_height='match_parent' /></LinearLayout>

總結

到此這篇關于Android 實現列表倒計時功能的文章就介紹到這了,更多相關android 列表倒計時內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Android
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久成人高清| 男女性色大片免费观看一区二区 | 国产精品**亚洲精品| 日本不卡视频在线观看 | 性欧美精品高清| 在线精品国产亚洲| 亚洲精品人人| 亚洲在线一区| 亚洲精品裸体| 国产欧美大片| 九九久久国产| 日韩精品dvd| 久久久人人人| aⅴ色国产欧美| 蜜臀精品久久久久久蜜臀| 亚洲精选久久| 国产精品一区亚洲| 国产一区不卡| 激情久久久久久| 欧美特黄a级高清免费大片a级| 欧美特黄一区| 亚洲三级国产| 日韩av一区二区在线影视| 国产精品日韩精品中文字幕| 久久久久国产精品一区二区| 久久久国产亚洲精品| 日韩亚洲精品在线| 日韩综合一区二区| 国产美女精品视频免费播放软件| 精品一区91| 九九久久电影| 日韩三区四区| 久久亚洲黄色| 九九在线精品| 日韩精品91亚洲二区在线观看| 另类综合日韩欧美亚洲| 视频小说一区二区| 国产精品毛片一区二区三区| 日韩激情av在线| 免费观看亚洲天堂| 99成人超碰| 欧美中文日韩| 嫩呦国产一区二区三区av| 久久精品123| 婷婷精品在线| 国产在线观看www| 综合亚洲自拍| 国产精品原创| 日韩精品一级二级 | 91精品国产自产在线丝袜啪| 国产+成+人+亚洲欧洲在线| 日韩欧美激情电影| 激情六月综合| 中文字幕亚洲在线观看| 欧美激情一区| 91久久亚洲| 国产精品久久久久av蜜臀| 美女av在线免费看| 免费高清在线一区| 97视频热人人精品免费| 亚洲综合图色| av资源中文在线| 日韩在线观看中文字幕| 色综合www| 国产亚洲一区二区三区啪| 国产综合欧美| 日韩精品亚洲一区二区三区免费| 裤袜国产欧美精品一区| 一区二区国产在线| 日韩在线短视频| 国产日韩欧美一区| 亚洲一区日韩在线| 日产精品一区二区| 日韩有码av| 亚洲午夜一级| 国产精品毛片久久| 久久激情五月婷婷| 中国女人久久久| 日韩毛片视频| 国产精品观看| 免费成人在线影院| 色婷婷亚洲mv天堂mv在影片| 婷婷激情久久| 蜜臀a∨国产成人精品| 成人精品动漫一区二区三区| 日韩激情一二三区| 亚洲精品中文字幕乱码| 精品久久久久久久| 日韩激情一区二区| 亚洲一区亚洲| 成人精品中文字幕| 成人在线观看免费视频| 久久国产精品免费精品3p| 国产精品毛片在线| 神马午夜在线视频| 国产精品多人| 深夜日韩欧美| 视频一区二区中文字幕| 自拍日韩欧美| 91精品国产福利在线观看麻豆| 久久一区视频| 国产日韩一区二区三免费高清 | 久久福利在线| 日韩国产欧美一区二区三区| 亚洲尤物在线| 亚洲一区成人| 亚洲一区二区网站| 久久亚洲精品伦理| 国产精品99一区二区| 免费在线小视频| 久久亚洲道色| 久久中文精品| 国产精品22p| 一区二区三区国产在线| 青青草伊人久久| 亚洲欧洲美洲国产香蕉| 国产视频久久| 国产一区观看| 久久精品中文| 免费观看亚洲| 高清久久精品| 精品免费视频| 精品三级在线观看视频| 久久国产精品色av免费看| 青青青国产精品| 欧美视频一区| 国产精品久久久久9999高清| 国产图片一区| 国产欧美一区二区精品久久久 | 欧美在线黄色| 欧美日韩91| 国产探花在线精品| 欧美日韩中文| 国产精品porn| 国产66精品| 久久精品国产www456c0m| 午夜欧美在线| 一区二区亚洲视频| 日本欧美在线| 欧美激情一区| 日韩精品一级中文字幕精品视频免费观看| 日韩一区二区三区免费播放| 日本在线高清| 久久精品国产99久久| 欧美特黄一级| 蜜桃一区二区三区在线观看| 亚洲天堂免费| 91麻豆精品激情在线观看最新 | 久久国内精品| 国产网站在线| 午夜精品一区二区三区国产| 丝袜美腿亚洲一区二区图片| 综合一区二区三区| 欧美天堂在线| 黄色在线观看www| 婷婷激情图片久久| 亚洲精品无吗| 国产精品久久久亚洲一区| 久久久久久久欧美精品| 欧美国产中文高清| 国产传媒在线观看| 久久精品青草| 亚洲综合专区| 精品三级国产| 免费精品国产的网站免费观看| 亚洲精品国模| 成午夜精品一区二区三区软件| 久久中文亚洲字幕| 一区二区精彩视频| 麻豆传媒一区二区三区| 久久精品99久久无色码中文字幕| 中文一区一区三区免费在线观 | 国产欧美日韩影院| 色老板在线视频一区二区| 亚洲精品系列| 91亚洲国产成人久久精品| 欧美日韩免费观看一区=区三区 | 日韩av资源网| 久久精品高清| 欧美日韩 国产精品| 色在线视频观看| 亚洲伊人影院| 荡女精品导航| 日韩一区欧美二区| 精品一区二区三区的国产在线观看| 九九在线精品| 国产精品白浆| 在线一区欧美| 福利在线一区| 综合亚洲视频| 久久蜜桃精品| 久久激情五月激情| 日韩午夜免费| 97精品视频在线看| 日本在线观看不卡视频| 久久国产电影| 欧美日韩黄网站| 国产亚洲精品自拍| 国产成人精品一区二区三区视频 | 日韩一区二区三免费高清在线观看|