在调用活动方法时获取异常

时间:2012-11-03 08:06:14

标签: android android-activity

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);
    }
}

1 个答案:

答案 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);

它正在运行。享受...

相关问题