Em có code đếm thời gian như thế này
public void onClickStart(View view) {
final TextView tvTime = (TextView) findViewById(R.id.tvTime);
final Handler handler = new Handler();
handler.post(new Runnable() {
@Override
public void run() {
int hour = seconds / 3600;
int minute = (seconds % 3600) / 60;
int second = seconds % 3600;
String time = String.format("%d:%02d:%02d", hour, minute, second);
tvTime.setText(time);
seconds++;
handler.postDelayed(this, 1000);
}
});
}
Nếu bỏ final ở dòng final TextView tvTime = (TextView) findViewById(R.id.tvTime);
thì sẽ bị báo lỗi local variable tvTime is accessed from within inner class; needs to be declared final
ở dòng tvTime.setText(time);
. Nhưng nếu em đưa tvTime
ra ngoài làm biến Global thì lại không cần final nữa