1

我有下面的代码来显示数字时钟。本质上它工作正常,但我希望它只显示 24 小时格式,因此如果用户要在 24 小时或 12 小时格式之间更改设置中的格式,它不会影响我的应用程序中显示的时间。

    DigitalClock digital_clock_4inches = (DigitalClock)findViewById(R.id.bge_digital_clock_4inches);
digital_clock_4inches.setTypeface(bge_currentDateandTimeFont_4inches);

我了解接管 DigitalClock 代码,如此处所示http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/1.5_r4/android/widget/DigitalClock.java是选项,如果是这种情况,代码会发生什么变化。

提前感谢您的帮助。


定时器:

    Timer timer = new Timer();
timer.schedule(new TimerTask() {
    @Override
    public void run() {

    }
},0,1000);//Update text every second
4

2 回答 2

0

使用显示 24 小时格式时间的日历创建您自己的时钟。

Calendar c = Calendar.getInstance(); 
int seconds = c.get(Calendar.SECOND); 
int min= c.get(Calendar.MINUTE); 
int hour= c.get(Calendar.HOUR); 
if(c.get(Calendar.AM_PM))//if returns pm add 12 to hour
Textview.append(hour + ":" + min + ":" + seconds );

使用 Timer 类每秒更新一次。

于 2013-03-27T13:53:23.660 回答
0

在计时器代码中,您应该更新 textviews 文本:

Timer timer = new Timer()
timer.schedule(new TimerTask() {

@Override
public void run() {
seconds++;
if(seconds == 60){
min+=1;
seconds = 0;}

if(min == 60){
hour+=1;
min = 0;}

if(hour == 24){
hour = 0;
}

Textview.append(hour + ":" + min + ":" + seconds );

}},0,1000);//Update text every second
于 2019-08-22T10:04:13.830 回答