如何更新TextClock?

时间:2018-10-08 17:06:40

标签: java android xml

我正在尝试在正在创建的应用程序中更新TextClock。现在我有一个按钮,可以从时钟中减去一个小时。(从1pm更改为12pm)。我正在更新的字符串看起来不错,但是格式有问题。

以下是更新代码:

 SimpleDateFormat sdf = new SimpleDateFormat("MMM dd yyyy\nhh:mm:ss:a");

 public void changeTime(View v){

    Calendar cal = Calendar.getInstance();
    Date newDate = new Date();
    newDate.setTime(date);
    cal.setTime(newDate);
    cal.add(Calendar.HOUR, -1);
    date+= -3600000;
    Date hourBehind = cal.getTime();
    String stringNewDate = sdf.format(hourBehind);
    Log.d("DateString: ", "String " +stringNewDate);
    dClock.setFormat12Hour(stringNewDate);



}

XML:

<TextClock
    android:id="@+id/dClock1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="170dp"
    android:format12Hour="MMM dd yyyy \nhh:mm:ss:a"
    android:text="Placeholder"
    android:textSize="30sp" />

这是我的log.d显示的内容:字符串2018年10月8日     12:02:07:PM

以下是我的时钟发生了什么情况: enter image description here

1 个答案:

答案 0 :(得分:0)

setFormat12Hour用于设置格式,该格式已使用android:format12Hour="MMM dd yyyy \nhh:mm:ss:a"在xml中完成。

您需要改为致电setText

//dClock.setFormat12Hour("MMMM dd yyyy hh:mm:ss:a");
dClock.setText(stringNewDate);