2010-12-14 68 views
0

Un autre débutant Java/Android ...Classes & Activités Android

Mon activité contient une delcaration pour une variable d'une classe que j'ai défini ... équipes publiques theTeams = null; Dans la méthode onCreate de cette activité, je crée un objet de cette classe ... Teams theTeams = new Teams(); J'ai été capable d'apporter quelques modifications à cet objet ... theTeams.setName ("A", "Jets"); ... qui affecte "Jets" à une chaîne de la classe. Cependant, à partir d'une méthode privée de l'activité, les tentatives de se référer à "theTeams" me donnent une erreur de pointeur nulle. Je suppose qu'il y a quelque chose à propos de la visibilité de l'objet que je ne comprends pas. Quelqu'un peut-il clarifier?

+0

serait agréable de voir co de ici. vous pouvez le poster en sélectionnant le bouton d'échantillon de code dans la boîte de dialogue d'édition de question. – mad

Répondre

2

Vous avez déclaré d'abord public Teams theTeams = null; ensuite dans la méthode onCreate, vous avez cette

Teams theTeams = new Teams(); 

Vous initialisez un nouvel objet theTeams de type Team à l'intérieur du onCreate, que vous pouvez voir que dans le cadre de onCreate .

Ainsi, lorsque vous appelez une méthode sur theTeams dans votre méthode privée, la méthode est appelée dans l'objet que vous avez déclaré d'abord à l'extérieur du So intérieur onCreate (qui est encore nulle)

, votre onCreate, vous devez utilisation:

theTeams = new Teams(); 

Quelque chose comme ce qui suit devrait fonctionner (non testé):

private Teams theTeams = null; 

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

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

Ça a marché, merci. – TasDev