每 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)
。
所以我试图让图片每 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)
。