質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Q&A

2回答

859閲覧

android:カレンダーの日にちを取り込みたい

tanabota_A

総合スコア6

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

0グッド

1クリップ

投稿2018/01/15 11:26

編集2018/01/15 12:16

###前提・実現したいこと
androidでカレンダーを作成しています。

###発生している問題・エラーメッセージ
配列を使って42個の枠を用意しそこに日にちを1,2,3・・31と表示させたいのです。
TextViewの配列を定義し、その配列にidをつけました。
そこからidに日にちを代入させたいのですが代入させる方法がわかりません。

###該当のソースコード
public static class PlaceholderFragment extends Fragment {

int tv_id[] = {R.id.tv_0, R.id.tv_1, R.id.tv_2, R.id.tv_3, R.id.tv_4, R.id.tv_5, R.id.tv_6, R.id.tv_7, R.id.tv_8, R.id.tv_9, R.id.tv_10, R.id.tv_11, R.id.tv_12, R.id.tv_13, R.id.tv_14, R.id.tv_15, R.id.tv_16, R.id.tv_17, R.id.tv_18, R.id.tv_19, R.id.tv_20, R.id.tv_21, R.id.tv_22, R.id.tv_23, R.id.tv_24, R.id.tv_25, R.id.tv_26, R.id.tv_27, R.id.tv_28, R.id.tv_29, R.id.tv_30, R.id.tv_31, R.id.tv_32, R.id.tv_33, R.id.tv_34, R.id.tv_35, R.id.tv_36, R.id.tv_37, R.id.tv_38, R.id.tv_39, R.id.tv_40, R.id.tv_41}; TextView tv_day[] = new TextView[tv_id.length]; public PlaceholderFragment() { } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment return inflater.inflate(R.layout.fragment_my_calendar, container, false); View rootView = inflater.inflate(R.layout.fragment_my_calendar,container,false); //日付取得 Calendar cal = Calendar.getInstance(); int year = cal.get(Calendar.YEAR); int month = cal.get(Calendar.MONTH); int day = cal.get(Calendar.DAY_OF_MONTH); //EditText今の取得 EditText nowYear = (EditText)rootView.findViewById(R.id.editText1); EditText nowMonth = (EditText)rootView.findViewById(R.id.editText2); //年、月セット nowYear.setText(String.format("%1$4d,year")); nowMonth.setText(String.format("%1$4d,month+1")); //配列セット for(int i = 0; i < 42; i++) tv_day[i] = (TextView)rootView.findViewById(tv_id[i]); } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yona

2018/01/15 11:47

うまくできませんではなく、何ができないのかを具体的に書いてください。
tanabota_A

2018/01/15 12:23

ご指摘ありがとうございます。修正しました。
guest

回答2

0

for 文の中で代入しましょう。具体的にはこうです。

java

1for(int i = 0; i < tv_id.length; i++){ 2 String s = "何か入れたい値"; 3 4 tv_day[i] = (TextView)rootView.findViewById(tv_id[i]); 5 tv_day[i].setText(s); 6}

 
今回の場合ですと年、月までは共通で取得して構いませんが、日にちは for 文の中で設定したほうがよいかもしれません。

ご確認 宜しくお願いします。

投稿2018/01/17 06:51

Yosuke-Kawakami

総合スコア123

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

1日が何曜日かを計算して、tv_0〜tv_6のどこから始めるかを計算しましょう。

投稿2018/01/15 12:30

yona

総合スコア18155

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問