所以我想让照片每2秒自动刷新一次。我已经尝试过处理程序/计时器方法,但我很困惑如何调用它,并且由于某种原因无法让它实际刷新...
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);
}
};
}
答案 0 :(得分:3)
你忘了发起runnable的第一次调用。定义timerRunnable
后,您必须拨打timerHandler.post(timerRunnable);
一次。此外,如果您希望每2秒刷新一次,则必须在postDelayed()
中将2000而不是500作为值。
当您想要停止刷新时,请不要忘记致电timerHandler.removeCallbacks(timerRunnable)
。