2017-02-28 4 views
-1

ich andere Klasse für globale Variablen erstellt haben, jetzt will ich es so, dass gerade werfen:Fehler durch eine Klasse Casting

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity1); 
    class2 global; 

    global = (class2)getApplicationContext(); 

ich Fehler:

android.app.Application cannot be cast to eu.tools.test_training_home.class2

Die class2:

public class class2 extends Application { 

    private String name="name1"; 
    private int number =0; 
+0

Sie versuchen, ein Objekt aus der Context-Klasse in ein Application-Objekt zu konvertieren. Es kann möglich sein. – JCoder

+0

Sorry, ich meine "kann nicht". – JCoder

+0

Ich schlage vor, dass Sie den standardmäßigen Java-Namenskonventionen @Testiest folgen. –

Antwort

-1

Das Problem der Consructor in Class2 in Klasse 2 war, i 1 Konstruktor hatte, 2 Setter, 2 Getter ich den Konstruktor gelöscht haben, dann wird der Fehler nicht gekommen

public class class2 extends Application { 

private String name ="name1"; 
private int number =10; 

public class2(String name, int number) { // this was the problem 
    this.name = name; 
    this.number = number; 
} 

public void setName(String name) { 
    this.name = name; 
} 

public void setNumber(int number) { 
    this.number = number; 
} 

public String getName() { 
    return name; 
} 

public int getNumber() { 
    return number; 
} 

}