课程& Android中的活动

时间:2010-12-14 10:27:55

标签: android class android-activity

另一个Java / Android新手......

我的活动包含我已定义的类变量的转换...     public Teams theTeams = null; 在这个Activity的onCreate方法中,我创建了该类的对象......     团队theTeams =新团队(); 我已经能够对这个对象做出一些改变......     theTeams.setName(“A”,“Jets”); ...将“喷气机”分配给班级中的字符串。 但是,从Activity的私有方法中,尝试引用“theTeams”会给我一个空指针错误。我想有一些关于对象可见性的东西,我不理解。有人可以澄清吗?

1 个答案:

答案 0 :(得分:2)

您先申报public Teams theTeams = null; 然后在onCreate方法中,你有了这个

Teams theTeams = new Teams();

因此,您要在theTeams内初始化Team类型的新onCreate对象,您只能在onCreate的范围内看到该对象。

因此,当您在私有方法中调用theTeams上的方法时,该方法将在您首先在onCreate之外声明的对象中调用(仍然为空)

所以在你的onCreate内,你必须使用:

theTeams = new Teams();

以下内容应该有效(未经测试):

private Teams theTeams = null;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    theTeams = new Teams();
}

private void myMethod() {
    theTeams.getName();
}