2010-12-14 71 views
0

另一个Java/Android的新手...课程与活动的Android

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

+0

会很高兴地看到一些合作在这里。您可以通过在问题编辑对话框中选择代码示例按钮来发布它。 – mad 2010-12-14 10:44:21

回答

2

你宣布第一public Teams theTeams = null; 然后在onCreate方法,你有这样的

Teams theTeams = new Teams(); 

所以要初始化Team类型的新theTeams对象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(); 
} 
+0

工作,谢谢。 – TasDev 2010-12-14 14:11:56