android studioでjavaを勉強しています。 1個どうしてもわからないので、ご教授頂きたいです。
android studioでjavaを勉強しています。 1個どうしてもわからないので、ご教授頂きたいです。 単純に今日の曜日を取得し表示させたいので、以下のコードを書いたのですが 間違っているでしょうか? Calendar cal2 = Calendar.getInstance(); int week = cal2.get(Calendar.DAY_OF_WEEK); TextView textView4 = findViewById(R.id.textView4); textView4.setText(week); いまいち曜日の取得・表示が解っていないのでアドバイスほしいです。 宜しくおねがいします。
ベストアンサー
曜日の取得はそれで良いですが 日曜日が1 月曜日が2 火曜日が3 水曜日が4 木曜日が5 金曜日が6 土曜日が7 の数値が得られます。 数値を曜日の文字に変換してsetTextしましょう 例 String[] week_name = { "", //0 "日曜日", //1 "月曜日", //2 "火曜日", //3 "水曜日", //4 "木曜日", //5 "金曜日", //6 "土曜日", //7 }; Calendar cal2 = Calendar.getInstance(); int week = cal2.get(Calendar.DAY_OF_WEEK); TextView textView4 = findViewById(R.id.textView4); textView4.setText(week_name[week]);
ちなみに 曜日を1 ~7で表示したい場合でも 今の実装はNGです。 setTextに数値を渡すと、 Androidは「リソースIDが渡させた」と認識して、文字列リソースへ変換しようとします。 その場合、リソースがなくてアプリが強制終了するかもしれませんのでNGです。 引数に整数を渡す仕様 https://developer.android.com/reference/android/widget/TextView#setText(int) 数値を表示したい場合、一旦文字列に変換してからsetTextしましょう textView4.setText(String.valueOf(week));
質問者からのお礼コメント
ありがとうございました!!
お礼日時:1/12 15:49