1. 今日の曜日を取得する
MainActivity.kt
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Calendarクラスをインスタンス化する.
val calendar: Calendar = Calendar.getInstance()
// 今日の曜日を取得する.
val day: Int = calendar.get(Calendar.DAY_OF_WEEK)
}
}
2. 取得した今日の曜日を TextView で表示する
MainActivity.kt
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
~ 省略 ~
// レイアウトのtext_viewをTextViewという変数で扱う.
val textView: TextView = findViewById(R.id.text_view)
// dayの値によって表示する曜日を変える.
if (day == Calendar.SUNDAY) {
textView.text = "日曜日"
} else if (day == Calendar.MONDAY) {
textView.text = "月曜日"
} else if (day == Calendar.TUESDAY) {
textView.text = "火曜日"
} else if (day == Calendar.WEDNESDAY) {
textView.text = "水曜日"
} else if (day == Calendar.THURSDAY) {
textView.text = "木曜日"
} else if (day == Calendar.FRIDAY) {
textView.text = "金曜日"
} else if (day == Calendar.SATURDAY) {
textView.text = "土曜日"
}
}
}
補足: if 式の代わりに when 式を使った方が簡潔!
MainActivity.kt
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
~ 省略 ~
// dayの値によって表示する曜日を変える.
when (day) {
Calendar.SUNDAY -> textView.text = "日曜日"
Calendar.MONDAY -> textView.text = "月曜日"
Calendar.TUESDAY -> textView.text = "火曜日"
Calendar.WEDNESDAY -> textView.text = "水曜日"
Calendar.THURSDAY -> textView.text = "木曜日"
Calendar.FRIDAY -> textView.text = "金曜日"
Calendar.SATURDAY -> textView.text = "土曜日"
}
}
}
when 式は文字通り式なので,以下のように評価結果をそのまま変数に代入できる.
MainActivity.kt
textView.text = when (day) {
Calendar.SUNDAY -> "日曜日"
Calendar.MONDAY -> "月曜日"
Calendar.TUESDAY -> "火曜日"
Calendar.WEDNESDAY -> "水曜日"
Calendar.THURSDAY -> "木曜日"
Calendar.FRIDAY -> "金曜日"
Calendar.SATURDAY -> "土曜日"
else -> "該当無し"
}