🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Android

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

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Android Widget

ホームスクリーンウィジェット、またはAndroidアプリケーションのスクリーン上で使用される一般的なユーザインタフェース要素に関連することを指します。

Q&A

解決済

1回答

2311閲覧

【Kotlin】For文で変数名をループさせたい(TextViewに変数iを代入させたい)

jagaimo0

総合スコア33

Android

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

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Android Widget

ホームスクリーンウィジェット、またはAndroidアプリケーションのスクリーン上で使用される一般的なユーザインタフェース要素に関連することを指します。

0グッド

1クリップ

投稿2021/03/24 14:18

実現したいこと

KotlinでAndroidアプリを作ろうとしているんですが、その際に表を使う必要があって計77マス分をKotlin側からTextViewにセットしたいです。
現在、それぞれのTextViewのid名を○○11や○○13などと登録しています。そのため

Kotlin

1○○11.setText(□□) 2○○12.setText(□□) 3... 4... 5... 6○○711.setText(□□)

と77行分のコードになってしまっているので、見にくくなってしまっています。これをFor文を使って縮めることができる方法を知っている方がいたら、教えていただけるとありがたいです。

試したこと/考えていること

${}を使ってできるのではないかなと考えて、下のようにやってみましたが、うまくいきませんでした。

Kotlin

1for(i in 0..76) { 2 var k = (i/7).toInt() + 1 3 ○○${k}${i-k*11}.setText(□□) 4}

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

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

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

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

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

hoshi-takanori

2021/03/24 16:01

基本的に「変数名をループさせる」ことはできないというか、そういう場合は配列などを使います。
dodox86

2021/03/25 00:40

この手の「変数名自体をループ中で動的に変えたい」と言う要望は、teratailではプログラミング言語を問わず、頻出の質問ですね。言語を問わずポータブルに実現する方法は、hoshi-takanoriさんのコメントのとおりだと思います。
jagaimo0

2021/03/25 08:36

なるほど。ありがとうございます。 配列でやろうともしたのですが、.setTextが反応しなかったので、諦めて全て書くことにします。
dodox86

2021/03/25 08:41 編集

> 配列でやろうともしたのですが、.setTextが反応しなかったので、諦めて全て書くことにします。 恐らくですが、やりたいことがコードに表現し切れてないだけだと思います。リソースIDを配列にするとか、TextViewを間接的に参照できる配列を用意する、ようなかたちです。
guest

回答1

0

自己解決

変数名を動的に変更することは無理みたいです

投稿2021/03/25 08:37

jagaimo0

総合スコア33

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問