0

我是 Kotlin / Java 的初学者。我试图制作一个想法很简单的移动应用程序:一个将当前时间打印到文本表的按钮,每次按下按钮都会打印新行。

我设法让按钮打印当前行,但是当我再次按下按钮时,它会覆盖之前打印的时间。

目前我的代码如下所示:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    val CryButton = findViewById<Button>(R.id.CryButton)
    val CryTable = findViewById<TextView>(R.id.CryTable)


    CryButton.setOnClickListener {
        val current = LocalDateTime.now()
        val formatter = DateTimeFormatter.ofPattern("hh-mm")
        val formatted = current.format(formatter)

        CryTable.text = formatted.toString()

我不知道如何让代码记住最后打印的文本,我在网上找不到任何解决方案。

4

3 回答 3

2

您需要更改的不仅仅是替换 TextView 的文本,还必须向其添加新行。

这样做的解决方案是用这条线替换这条CryTable.text = formatted.toString()线CryTable.text = CryTable.text + "\n" + formatted.toString()

这将使您的文本视图保留旧文本,向其添加新行,然后添加新文本。

希望这可以帮助。

于 2019-10-18T05:58:54.817 回答
0

使用附加 -

val CryButton = findViewById<Button>(R.id.CryButton)
val CryTable = findViewById<TextView>(R.id.CryTable)

CryTable.text = ""

CryButton.setOnClickListener {
val current = LocalDateTime.now()
val formatter = DateTimeFormatter.ofPattern("hh-mm")
val formatted = current.format(formatter)

CryTable.append(formatted.toString())
于 2019-10-18T05:58:46.430 回答
0

请尝试在一个变量中使用旧时间,当您打印新时间时,用 \n 将新时间与旧时间连接起来,它会起作用。

于 2019-10-18T06:01:34.593 回答