每 2 秒自动刷新图像 android

Automatically refresh image every 2 seconds android

所以我试图让图片每 2 秒自动刷新一次。我试过 handler/timer 方法,但我对如何调用它感到困惑,并且由于某种原因无法让它真正刷新...

private void refreshPicture(final String refreshRate, final String userName, final String userPicture) {

    final Handler timerHandler = new Handler();
    Runnable timerRunnable = new Runnable() {

        @Override
        public void run() {
            long millis = Long.parseLong(refreshRate);
            int seconds = (int) (millis / 1000);
            int minutes = seconds / 60;
            seconds = seconds % 60;

            //my method where i refresh image
            getUserPicture(userName, userPicture);

            timerHandler.postDelayed(this, 500);
        }
    };
}

您忘记启动runnable 的第一次调用。定义 timerRunnable 后,您必须调用一次 timerHandler.post(timerRunnable);。另外,如果你想让它每 2 秒刷新一次,你必须将 2000 而不是 500 作为 postDelayed().

中的值

当你想停止刷新时不要忘记调用timerHandler.removeCallbacks(timerRunnable)