【发布时间】:2021-04-07 01:49:57
【问题描述】:
<TextClock
android:layout_marginTop="20dp"
android:id="@+id/textClock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="45dp"
android:format12Hour="hh:mm:ss a"
android:layout_gravity="center"/>
这是我的布局文件中的 TextClock 我想以编程方式将其格式从 12 小时更改为 24 小时
到目前为止,我已经尝试过:
var textClock: TextClock = view.findViewById<TextClock>(R.id.textClock)
textClock.format24Hour = "hh:mm:ss a"
但似乎没有任何效果。
在 java 中有一个名为 setFormat24Hour(CharSequence format) 的方法,但在 Kotlin 中我无法达到预期的结果。
您的帮助将不胜感激。谢谢
【问题讨论】:
-
当你说“但在 Kotlin 中我无法达到预期的结果”时,你是什么意思?您是想说这在 Java 中有效,但在 Kotlin 中无效?这似乎几乎是不可能的,Kotlin 可以与 Java 完全互操作。
-
我的意思是我不能在 kotlin 中使用 setFormat24Hour。在 kotlin 中只有可能的 textClock.format12Hour 和 textClock.format24Hour,它们不会改变时钟的格式
-
很高兴该解决方案有效,但只是为了将来,
TextClock.format24Hour是TextClock.setFormat24Hour方法的别名。它们是相同的,所以在 Java 中没有什么是你不能用 Kotlin 调用的。据我所知,这称为 属性访问语法。
标签: java android kotlin format