【Android】時刻をリアルタイムで表示する方法【Kotlin】

TextViewに現在の時刻をリアルタイムで更新、表示する方法を紹介します。

こんな感じの画面が表示されます。

コード

以下のコードで時刻を更新、表示しています。

val textView = findViewById<TextView>(R.id.timeView)
val handler = Handler()
timer(period = 1000) {
    val calendar = Calendar.getInstance()
    val hour = calendar.get(Calendar.HOUR_OF_DAY)
    val minute = calendar.get(Calendar.MINUTE)
    val second = calendar.get(Calendar.SECOND)
    handler.post {
        textView.text = "${hour}時 ${minute}分 ${second}秒"
    }
}

timerで指定した処理(今回だとTextViewに時刻を表示する)が1秒ごとに実行されます。

画面のコードは以下の通りです。

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal">

        <TextView
            android:id="@+id/timeView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="50dp"/>

    </LinearLayout>

</androidx.constraintlayout.widget.ConstraintLayout>

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA