2010-12-14 22 views
0

Ein weiteres Java/Android Neuling ...Klassen & Aktivitäten in Android

Meine Tätigkeit eine delcaration für eine Variable einer Klasse enthält, die ich definiert haben ... öffentlichen Teams theTeams = null; Innerhalb der OnCreate-Methode dieser Aktivität erstelle ich ein Objekt dieser Klasse ... Teams theTeams = new Teams(); Ich konnte einige Änderungen an diesem Objekt vornehmen ... theTeams.setName ("A", "Jets"); ... die einer Zeichenfolge in der Klasse "Jets" zuweist. Innerhalb einer privaten Methode der Aktivität geben jedoch die Versuche, auf "theTeams" zu verweisen, einen Nullzeigerfehler. Ich denke, da ist etwas über Objektsichtbarkeit, das ich nicht verstehe. Kann jemand klären?

+0

wäre schön, etwas zu sehen co de hier. Sie können es posten, indem Sie im Bearbeitungsdialog für die Frage die Schaltfläche für den Codebeispiel auswählen. – mad

Antwort

2

Sie erklärten ersten public Teams theTeams = null; Dann in der onCreate Methode haben Sie diese

Teams theTeams = new Teams(); 

So werden Sie ein neues theTeams Objekt vom Typ Team innerhalb des onCreate initialisiert, die Sie nur im Rahmen von onCreate sehen .

Also, wenn Sie eine Methode auf theTeams in Ihrem privaten Methode aufrufen, wobei das Verfahren in dem Objekt aufgerufen wird zunächst außerhalb des onCreate erklärt haben (was immer noch null ist)

So innen, Ihr onCreate, müssen Sie Verwendung:

theTeams = new Teams(); 

etwas wie das folgende sollte (ungetestet) arbeiten:

private Teams theTeams = null; 

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

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

Das hat funktioniert, danke. – TasDev

Verwandte Themen