[Android] Button 配列を設定する

Buttonやテキストなどを複数配置するようなレイアウト、当然、配列を使ってfor文で一気に作りたいですね。レイアウトファイルにちまちま書かずに tag をセットして作りましょう。
 
buttonarray 01b - [Android] Button 配列を設定する

Android Studio 3.0.1
Android 8.0

 



setTag(), getTag()

 
配列としてそれぞれのButtonを複数作成するだけであれば簡単ですが、それぞれのButtonがタップされた時の設定はどうすればいいでしょう。

ボタンタップで受け取る時のIDを考えないといけないですね。

結局レイアウトファイルから
button[0] = findViewById(R.id.button_0) ;
button[1] = findViewById(R.id.button_1) ;

ではいまいちです。レイアウトファイルではなくコードで書きましょう。

また、ボタンのクリックリスナーもfor文でつくると、どのボタンがタップされたかわからないといけません。ボタンのIDを呼び出す方法ももありますが、IDは自動で作成されるもので直観的で分かりやす方がいいと思います。

setTag(Object tag), getTag()を使うとIDを使わずにできます
とは言っても実のところどうしてもTagを使う必要があるのかと疑問もあります

Tags can also be used to store data within a view without resorting to another data structure. The specified key should be an id declared in the resources of the application to ensure it is unique (see the ID resource type).

View

Viewにマーキングするわけですね、色々としがらみがなく使えるということでしょうか。
たとえば100m競争でゼッケン16番の選手の記録という方が、名前を桐生xxxというより簡単でいいわけですね。
 

Button array

 
とりあえず作ってみたいと思います。
ボタンにsetTag(“1”)を設定

view.getTag()で取り出す

 

ボタンを配列で作成して、こういう形でtagを付けて後でタップで取り出せるようにします。
これを使ってボタンアレーをコードで作ってみると。
 
MainActivity.java

 

 
 
Ref:
public void setTag (Object tag)
public Object getTag ()
 
関連ページ:

スマホの下取り

まだ1年も使っていないスマホを新機種に変えたくて下取りしようとお店に持ち込んだことがありますが、結局なんだかんだと思ったほどの金額になりませんでした(涙

このネットオフは専業のため高額買取が可能で、お店に行く時間が無い人にとっては送料無料の宅配便が自宅まで引取りに来てくれるのは助かります。

定額買取キャンペーン中であればキズがあっても付属品が無くても減額無しでお得です。」


誤字脱字、意味不明で分からにゃイ、
などのご意見はこちらから mailフォーム

ブックマークしておくと便利です このエントリーをはてなブックマークに追加




Google Pixel 3 XLグローバル版
SIMフリー 並行輸入品
6.3インチの大画面
背景をぼかすポートレートモード撮影

Anker PowerCore II Slim 10000
Power IQ 2.0搭載
iPhone & Android対応

シェアする

  • このエントリーをはてなブックマークに追加

フォローする