将当前活动传递给类时获取NullPointerException

时间:2014-09-03 10:22:12

标签: java android

我正在创建一个名为gm的对象,并将一个名为a的属性设置为该活动。

 //This is in the Activity
 GameConfiguration gm = new GameConfiguration();
 gm.setA(this);

然后在课堂上我这样做。

public class GameConfiguration {

private Activity as;
public TextView tx;


public void setTextsTextViews(){

    Activity b = getA();
    tx = (TextView) b.findViewById(R.id.category);
    tx.setText("Test");

    //
}

public Activity getA() {
    return as;
}

public void setA(Activity a) {
    this.as = a;
}
} 

GameConfiguration类是2个clases的父类,在那个2中我只是调用方法setTextsTextViews,虽然这会起作用但我在这行中得到NullPointerException错误

  tx = (TextView) b.findViewById(R.id.category);

我不明白的是,当我这样做时,

 public void setTextsTextViews(Activity a){

    tx = (TextView) a.findViewById(R.id.category);
    tx.setText("Test");

    //
}

从儿童班传递活动确实有效,我不知道我对这一切都是新手,谢谢你能否提供帮助

1 个答案:

答案 0 :(得分:0)

你得到nullPointerException,因为视图包含R.id.category在这些时刻没有显示。将视图而不是活动传递给GameConfiguration类,并确保正确的布局是膨胀的。

希望它可以帮到你!!