我class A
,class B
扩展了Activity
。在Activity B
中,我创建了一个方法fillVariable
,如下所示,但当我从Activity A
调用此方法时,我收到nullPointerException
。
活动:
public class A extends Activity{
B b;
public void onCreate(Bundle sc){
setContentView(R.layout.first);
b = new B();
b.fillVariable();
}
}
B活动:
public class B extends Activity{
Resources res;
public void onCreate(Bundle sc){
}
public void fillVariable() {
res = this.getResources();
String temp = res.getString(R.string.myString);
}
}
答案 0 :(得分:0)
您必须在A类中传递this
,例如b = new B(this);
,因为您正在调用下一个活动,因此他们需要活动的上下文。
现在创建 B类中的上下文,例如Context ctx
。
现在在文件b中定义class b Constructor
,例如:
public B(A obj) {
// TODO Auto-generated constructor stub
this.ctx = obj;
}
在任何函数中使用上下文obj来使用资源,例如:
public String temp;
temp = ctx.getString(R.string.me);
它正在运行。享受...