Android Studio の [Basic Activity]テンプレートプロジェクトを少しだけ変更して時計を表示させる。
時計表示は、Runnableで1秒刻みで表示を変更する。
プロジェクト内のJava→アプリ名→[FirstFragment.kt]を編集
class FirstFragmentのすぐ下の行に下記コードを追加する
private var _handler = Looper.myLooper()?.let { Handler(it) } private var _runnable = object : Runnable{ override fun run() { _handler?.postDelayed(this, 1000.toLong()) val dataFormat = SimpleDateFormat("yyyy/MM/dd HH:mm:ss") val date = Date() val s = dataFormat.format(date) _binding?.textviewFirst?.text = s } }
上記コードを追加すると、 下↓が自動でインポートされます。
import android.os.Handler import android.os.Looper import java.text.SimpleDateFormat import java.util.*
override fun onCreateView()メソッド内の returnの手前に下記↓コードを追加
_handler?.post(_runnable)
デバッグ実行
↑上のボタンで、デバッグ実行します。
ラベルに現在時刻が表示されることが確認できました。