我有一个视图类IntroScreen
,它在我的xml布局中膨胀。
在我尝试访问静态String[]
元素之前,通货膨胀很有效
在我的onCreate
方法中定义。不知怎的,它给了我一个NullPointerException
,即使我初始化IntroScreen
对象后调用我的String[]
视图也是如此。这是一些代码:
//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
我的问题是如何访问这个静态String []数组?我无法通过 它是我的IntroScreen视图,因为它在代码行中通过xml进行了膨胀
intro = (IntroScreen)this.findViewById(R.id.hereintro);
任何建议的想法,
非常感谢答案 0 :(得分:1)
在调用IntroScreen
之前调用onCreate()
的构造函数,因此您的数组尚未初始化。只需确保在夸大活动之前对其进行初始化。
答案 1 :(得分:0)
将该字符串数组参数传递给public IntroScreen(Context c, AttributeSet a)