Hallo,
ich bin neu hier. Wenn meine Frage also in einem FAQ oder Tutorial erklärt wird, auf den Link rüberreichen.
Ich hab folgendes Problem:
Ich habe mehrere Klassen. Diese sind unterschiedlich Aufgebaut und werden aus XML-Dateien befüllt. Die Methode zum Befüllen will ich aber nur einmal schreiben. Jetzt habe ich folgende Idee:
Erstellen einer Basisklasse. Ob diese normal, abstrakt oder als Instanz anzulegen ist wäre dann meiner erste Frage. Diese Klasse sieht aktuell so aus:
Die abgeleiteten Klassen werden dann so aufgebaut:
Benutzen will ich das dann so:
Und XMLPullParserHandler ist so aufgebaut:
Ich hoffe es ist klar geworden was ich machen will.
Das klappt aber nicht.
Beim Instanzieren von XMLPullParserHandler bekomme ich die Fehlermeldung "error: incompatible types: List<Antworten> cannot be converted to List<Datenhalter>".
Irgend eine Idee was ich machen muss damit es klappt, oder eine andere Idee wie ich mein Problem lösen kann ohne XMLPullParserHandler mehrfach zu programmieren bzw. ohne mit großen switch-Anweisungen zu arbeiten?
ich bin neu hier. Wenn meine Frage also in einem FAQ oder Tutorial erklärt wird, auf den Link rüberreichen.
Ich hab folgendes Problem:
Ich habe mehrere Klassen. Diese sind unterschiedlich Aufgebaut und werden aus XML-Dateien befüllt. Die Methode zum Befüllen will ich aber nur einmal schreiben. Jetzt habe ich folgende Idee:
Erstellen einer Basisklasse. Ob diese normal, abstrakt oder als Instanz anzulegen ist wäre dann meiner erste Frage. Diese Klasse sieht aktuell so aus:
Code:
public abstract class Datenhalter {
public abstract void DatenSet(String name, String wert);
}
Die abgeleiteten Klassen werden dann so aufgebaut:
Code:
public class Antworten extends Datenhalter {
...
public void DatenSet(String name, String wert){
...
}
}
Benutzen will ich das dann so:
Code:
List<Antworten> al = new ArrayList<Antworten>();
XMLPullParserHandler parser = new XMLPullParserHandler( (List<Datenhalter>) al); // Hier knallts!
Und XMLPullParserHandler ist so aufgebaut:
Code:
public class XMLPullParserHandler {
List<Datenhalter> daten;
public XMLPullParserHandler(List<Datenhalter> dt) {
daten = dt;
}
...
}
Ich hoffe es ist klar geworden was ich machen will.
Das klappt aber nicht.
Beim Instanzieren von XMLPullParserHandler bekomme ich die Fehlermeldung "error: incompatible types: List<Antworten> cannot be converted to List<Datenhalter>".
Irgend eine Idee was ich machen muss damit es klappt, oder eine andere Idee wie ich mein Problem lösen kann ohne XMLPullParserHandler mehrfach zu programmieren bzw. ohne mit großen switch-Anweisungen zu arbeiten?
Zuletzt bearbeitet: