使用Calendar类进行实时获取时间更新。
import java.util.Calendar;
public class InfoFragment{
private Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case REFRESH_TIME:
updateTime();
break;
default:
break;
}
}
};
public void updateTime() {
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH) + 1;
int date = c.get(Calendar.DATE);
int hours = c.get(Calendar.HOUR_OF_DAY);
int minutes = c.get(Calendar.MINUTE);
int week = c.get(Calendar.DAY_OF_WEEK);
String hour;
String minute;
String weekDay;
if (hours < 10) {
hour = "0" + hours;
} else {
hour = "" + hours;
}
if (minutes < 10) {
minute = "0" + minutes;
} else {
minute = "" + minutes;
}
switch (week) {
case Calendar.MONDAY:
weekDay = getString(R.string.one);
break;
case Calendar.TUESDAY:
weekDay = getString(R.string.two);
break;
case Calendar.WEDNESDAY:
weekDay = getString(R.string.three);
break;
case Calendar.THURSDAY:
weekDay = getString(R.string.four);
break;
case Calendar.FRIDAY:
weekDay = getString(R.string.five);
break;
case Calendar.SATURDAY:
weekDay = getString(R.string.six);
break;
case Calendar.SUNDAY:
weekDay = getString(R.string.sunday);
break;
default:
weekDay = "";
break;
}
mTimeText.setText(hour + ":" + minute);
if (mShowYear) {
mDateText.setText(year + getString(R.string.year) + month + getString(R.string.month)
+ date + getString(R.string.day));
} else {
mDateText.setText(month + getString(R.string.month) + date + getString(R.string.day));
}
mWeekText.setText(getString(R.string.week) + weekDay);
mHandler.removeMessages(REFRESH_TIME);
mHandler.sendEmptyMessageDelayed(REFRESH_TIME, 1000);
}
}