androidアプリの作成で、Globals.fruit[1]のfruitをString[] elements = {"fruit", "sport"}のように宣言した配列を使ってGlobals.elements[0][1]のように書けたらいいなと思ったのですがエラーがでてしまいどのようにすればいいかわからなかったので教えていただきたいです。配列を使っているのはforループで記述量を減らしたいと思ったからです。
下記詳細です。グローバル変数を定義しています。
java
1[Globals.java] 2package com.example.globals; 3 4import android.app.Application; 5 6public class Globals extends Application { 7 8 String[] fruit = {"apple", "orange"}; 9 String[] sport = {"baseball", "soccer"}; 10}
変更前メインアクティビティーです。
java
1[MainActivity.java] 2package com.example.globals; 3 4import ... 5 6public class MainActivity extends AppCompatActivity { 7 8 Globals globals; 9 10 @Override 11 protected void onCreate(Bundle savedInstanceState) { 12 super.onCreate(savedInstanceState); 13 setContentView(R.layout.activity_main); 14 15 globals = (Globals) this.getApplication(); 16 17 TextView textView = (TextView) findViewById(R.id.tv1); 18 19 textView.setText(globals.fruit[0]); 20 } 21}
そして次がエラーが出ている実行したいプログラムです。
java
1[MainActivity.java] 2package com.example.globals; 3 4import... 5 6public class MainActivity extends AppCompatActivity { 7 8 Globals globals; 9 10 //変更点 11 public String[] elements = {"fruit", "sport"}; 12 13 @Override 14 protected void onCreate(Bundle savedInstanceState) { 15 super.onCreate(savedInstanceState); 16 setContentView(R.layout.activity_main); 17 18 globals = (Globals) this.getApplication(); 19 20 TextView textView = (TextView) findViewById(R.id.tv1); 21 22 //変更点 23 //イメージとしてはこのような感じで 24 textView.setText(globals.elements[0][0]); 25 } 26}
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。