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

您的位置:首頁技術(shù)文章
文章詳情頁

Android 實現(xiàn)列表倒計時功能

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

單個計時器,然后遍歷數(shù)據(jù) 刷新條目;

Android 實現(xiàn)列表倒計時功能

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

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

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('附加商品、離活動結(jié)束還剩:' , 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 + '、離活動結(jié)束還剩:', (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 { // 當(dāng)時間是0時 移除條目(子線程加睡眠模式移除條目有問題,原因時數(shù)據(jù)源未更新) 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>

總結(jié)

到此這篇關(guān)于Android 實現(xiàn)列表倒計時功能的文章就介紹到這了,更多相關(guān)android 列表倒計時內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Android
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲欧美日本日韩| 日韩中文字幕亚洲一区二区va在线| 视频一区欧美精品| 亚洲午夜久久久久久尤物| 岛国av免费在线观看| 成人国产综合| 水蜜桃久久夜色精品一区| 欧美激情另类| 欧美天堂视频| 国产一区二区色噜噜| 欧美久久精品| 国产精品久久久免费| 欧美91在线| 美女在线视频一区| 国产aⅴ精品一区二区三区久久| 精品国产欧美日韩| 中文在线中文资源| 欧美日韩一区二区三区视频播放| 欧美+日本+国产+在线a∨观看| 国产一区久久| 国产精品女主播一区二区三区| 亚洲一区黄色| 美美哒免费高清在线观看视频一区二区| 日韩一区精品视频| 日韩福利视频导航| 91精品国产自产精品男人的天堂| 欧美日韩亚洲一区在线观看| 国产一区二区三区四区二区| 欧美不卡高清一区二区三区| 一区在线免费| 日本视频一区二区| 精品国产精品久久一区免费式 | 影院欧美亚洲| 中文字幕视频精品一区二区三区| 人人爱人人干婷婷丁香亚洲| 麻豆精品蜜桃视频网站| 99精品网站| 免费在线观看视频一区| 午夜精品福利影院| 日韩av免费大片| 国产尤物精品| 91麻豆精品激情在线观看最新| 精品一二三区| 日韩视频久久| 欧美日韩午夜| 伊人精品一区| 久久精品99国产精品| 日韩网站中文字幕| 日韩高清国产一区在线| 日韩伦理一区| 日本不卡高清视频| 日韩欧美精品综合| 欧美一区91| 欧美不卡高清一区二区三区| 亚洲精品一级二级三级| 新版的欧美在线视频| 日韩高清成人在线| 激情婷婷欧美| 免费观看亚洲天堂| 伊人久久婷婷| 婷婷综合电影| 欧美精品不卡| 日韩高清成人| 亚洲精品日本| 91亚洲一区| 国产精品美女| 日韩精品一级二级| 中文字幕在线视频网站| 国产精品7m凸凹视频分类| 亚洲精品无播放器在线播放| 欧美视频久久| 亚洲韩日在线| 久久伊人国产| 午夜在线观看免费一区| 91看片一区| 欧美亚洲tv| 久久99伊人| 色综合狠狠操| 国产探花一区二区| 国产精品av一区二区| 成人国产精品一区二区网站| 亚洲三级精品| 合欧美一区二区三区| 国产区精品区| 一区二区精品| 日韩免费久久| 免费看久久久| 中文视频一区| 女人天堂亚洲aⅴ在线观看| 国产精品入口久久| 91精品国产调教在线观看 | 国产一区欧美| 欧美日韩精品一区二区三区在线观看| 日韩精品午夜| 国产毛片精品| 快she精品国产999| 欧美片第1页综合| 国产麻豆综合| 欧美aa在线观看| 国产免费久久| 在线亚洲观看| 亚洲啊v在线| 国产黄色精品| 亚洲精品九九| 免费毛片在线不卡| 欧美日韩视频免费看| 国产毛片久久| 日韩免费久久| 国产福利亚洲| 在线精品视频一区| 午夜精品免费| 热三久草你在线| 国产精品久久久久久久久久齐齐| 亚洲午夜免费| 日韩视频精品在线观看| 欧美成人国产| 日韩一区二区在线免费| 国产精品香蕉| 亚洲精品第一| 天使萌一区二区三区免费观看| 午夜国产精品视频| 久久久久久久久丰满| 日韩av首页| 98精品久久久久久久| 日韩久久精品| 精品国产精品久久一区免费式 | 日韩欧美一区二区三区免费看| 国产精品久久久久久久久免费高清| 亚洲综合色婷婷在线观看| 日韩一区精品字幕| 模特精品在线| 亚欧成人精品| 中文在线日韩| 久久国产88| 欧美成a人免费观看久久| 99精品综合| 精品欠久久久中文字幕加勒比| 国产伦精品一区二区三区千人斩| 91九色精品| av亚洲在线观看| 欧美亚洲国产激情| 激情偷拍久久| 欧洲毛片在线视频免费观看| 99热国内精品| 亚洲福利专区| 亚洲欧洲另类| 久久午夜视频| 亚洲一区二区三区久久久| 日韩和欧美一区二区| 日韩精品久久久久久| 日韩美女国产精品| 久久xxxx精品视频| 亚洲一二av| 日韩一区二区三区高清在线观看 | 天堂√中文最新版在线| 老牛影视精品| 欧美羞羞视频| 在线亚洲成人| 综合精品一区| 色8久久久久| 日韩在线观看中文字幕| 亚洲色图国产| 欧美亚洲专区| 麻豆精品av| 久久精品国产999大香线蕉| 国产欧美一区二区精品久久久| 日韩激情中文字幕| 国产精品亲子伦av一区二区三区| 日韩精品不卡一区二区| 亚洲高清av| 日韩动漫一区| 精品高清久久| 日韩影院在线观看| 国产精品香蕉| 婷婷成人综合| 中文视频一区| 国语精品一区| 日韩精品欧美激情一区二区| 中文亚洲欧美| 国产精品视频一区二区三区综合| 麻豆国产精品视频| 中文日韩欧美| 欧美日韩一区自拍| 91精品国产调教在线观看| 自拍日韩欧美| 麻豆中文一区二区| 久久久9色精品国产一区二区三区| 免费不卡中文字幕在线| 亚洲日本国产| 国产一区二区三区四区五区传媒| 国产精品成人国产| 欧美日韩国产传媒| 青青伊人久久| 免费在线小视频| 综合视频一区| 国产精选久久| 久久久久欧美精品| 四虎精品一区二区免费| 中文字幕在线看片| 免费人成精品欧美精品|