私はビュークラスIntroScreen
を持っています。これは私のxmlレイアウトで膨らんでいます。 私がonCreate
メソッド内で定義したString[]
要素 にアクセスしようとするまで、インフレは素晴らしいです。なんとなく、私はオブジェクトを初期化した後に私のIntroScreen
ビューを呼び出す呼び出しが発生しても、私にはNullPointerException
が与えられます。ここにいくつかのコードがあります:AndroidのカスタムViewクラスから静的オブジェクトにアクセスする
//class MainActivity which holds onCreate()
static String[] stringArray;
//inside onCreate
stringArray = new String[20];
stringArray[0] = "the world";
stringArray[1] = "is round";
//a few lines down the code... still inside onCreate()
intro = (IntroScreen)this.findViewById(R.id.hereintro);
//inside my IntroScreen which extends view
//constructors are as follows:
public IntroScreen(Context c){
super(c);
}
public IntroScreen(Context c, AttributeSet a){
super(c, a);
boolean b = false;
if(MainActivity.stringArray[0].equals("the world"))b = true; //problem here
//above line of code gives null pointer exception
}
//inside onDraw()
//need more calls to MainActivity.stringArray in order to create custom view
//but calls won't work at all
私はこのstatic String []配列にどうやってアクセスできますか?それは、コードの提案の
intro = (IntroScreen)this.findViewById(R.id.hereintro);
任意のアイデアの行でXMLを介して膨張いますので、私は、私のIntroScreenビューに に
多くのおかげ
静的String配列の目的は何ですか?それはあなたの活動のすべてのインスタンスで本当に同じですか? –
'// inside onCreate()'のようなコメントを書くのではなく、実際のonCreate()の宣言を書くだけです。同じことがクラスにも当てはまります。 –
MainActivityクラス内で定義された静的String []配列にアクセスする必要があるクラス(内部クラスではありません)を作成しました。このようにすべての変数が作成されるわけではありません。 @ Code-Apprentice –