最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何通知 RecyclerView 適配器內(nèi)的計時器內(nèi)的數(shù)據(jù)已更改

如何通知 RecyclerView 適配器內(nèi)的計時器內(nèi)的數(shù)據(jù)已更改

MMTTMM 2024-01-28 16:45:32
我有一個 RecyclerView,您可以在其中向左滑動項目以將其存檔。它首先會顯示撤消布局,然后 2 秒后它將被存檔(現(xiàn)在,對于第一個測試,我只是刪除該項目)。問題是,notifyItemRemoved(pos)從 Timer 線程使用會導(dǎo)致應(yīng)用程序崩潰,表明只有創(chuàng)建視圖的原始線程(UI 線程)才能觸摸其視圖。有什么技巧可以解決這個問題嗎?我在 RecyclerView.Adapter 擴展類的 ViewHolder 中使用計時器。這是定時器的代碼:archiveTimer.schedule(new TimerTask() {    @Override    public void run() {        notesController.remove(position);        notesList.remove(position);        queuedForArchive = false;    }}, 2000);在活動中,您可以使用 runOnUiThread 但我也不能使用它(函數(shù)MainActivity.runOnUiThread(Runnable)不是靜態(tài)的,所以我不能在 MainActivity 之外使用它)
查看完整描述

1 回答

?
慕無忌1623718

TA貢獻1744條經(jīng)驗 獲得超4個贊

我發(fā)現(xiàn)了一種非常棘手的方法,可以在不使用計時器的情況下在 UI 線程上發(fā)生定時事件。我注意到所有動畫師實際上都是定時的,你可以在任何你想要的動畫師上實現(xiàn) onAnimationEnd ,所以我制作了一個 ObjectAnimator ,將不可見視圖的 alpha 從 1 更改為 1 (沒有變化),并將其持續(xù)時間設(shè)置為我需要的 2000 毫秒。我使用了我想在該動畫器的 onAnimationEnd() 內(nèi)的計時器中使用的相同代碼,并且它有效!所有代碼都在 UI 線程上運行,對其他布局的更改不會造成任何崩潰!



查看完整回答
反對 回復(fù) 2024-01-28
  • 1 回答
  • 0 關(guān)注
  • 163 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號