2

我有查看寻呼机。查看寻呼机有 3 个部分/选项卡,它们具有相同的片段。片段包含 recycleview。在 recyclerview 我有行的自定义布局。行包含 textview 和 imagers 。对于 textview 它的计时器应该每 1 秒更新一次。所以现在我正在使用带有固定计划任务的计时器

 Timer timer = new Timer();
  timer.scheduleAtFixedRate( new TimerTask() {
        public void run() {

             textview.settext(updatedvalue);

         }
        }, 0, 1000);

我在 bindViewHolder 中这样做。但现在的问题是这个计时器只适用于几行回收视图。所以在这它总是调用关于该行是否可见

所以说我总共有 30 行,定时器适用于第 4 行(这可以是任何值,取决于服务器值)。所以我怎么能只为那一行做这个更新的东西。我的代码在所有行都发生了,所以它占用了很多内存

4

1 回答 1

2

一旦我用这个解决了我的问题。希望它会起作用

Handler timerHandler;
timerHandler = new Handler();

Runnable timerRunnable = new Runnable() {
    @Override
    public void run() {
        // Here you can update your adapter data
        yourAdapter.notifyDataSetChanged();
        timerHandler.postDelayed(this, 1000); //run every second
    }
};

timerHandler.postDelayed(timerRunnable, 1000); //Start timer after 1 sec
于 2016-04-30T05:08:20.530 回答