-1

我有class Aclass 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);
    }
}
4

1 回答 1

0

您必须传入this您的 A 类,例如b = new B(this);,因为您正在调用下一个活动,因此他们需要活动的上下文。

现在在 B 类中创建上下文,例如Context ctx.

class b Constructor现在在文件 b 中定义你的,比如:

public B(A obj) {
    // TODO Auto-generated constructor stub
    this.ctx = obj;
}

并在任何函数中使用上下文 obj 使用资源,例如:

public String temp;
temp = ctx.getString(R.string.me);

它正在运行。享受...

于 2012-11-03T09:55:03.297 回答