10 Stimmen

SimpleXML Constructor Exception - Kann keine innere Klasse erstellen

Ich fange gerade an, mit der Android-Entwicklung mit SimpleXML zu experimentieren, und dachte, es würde ganz gut laufen, bis ich auf ein Problem stieß. Der folgende Code erzeugt eine Ausnahme von

W/System.err(665): org.simpleframework.xml.core.ConstructorException: Kann keine innere Klasse konstruieren

Ich habe die Fragen zu inneren Klassen durchgesehen und denke, dass ich verstehe, warum Sie sie verwenden würden (nicht, dass meine unbedingt beabsichtigt war), aber trotz der Verschiebung meines Codes um zu versuchen und die Verwendung zu vermeiden, bin ich immer noch ein wenig stecken und würde jede Hilfe zu schätzen wissen.

Quellcode:

public class InCaseOfEmergencyMedAlertAllergiesActivity extends Activity {
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);

    Serializer serializer = new Persister();
    InputStream xmlstream = this.getResources().openRawResource(R.raw.sample_data_allergies);
    try {
        medalertdata allergyObject = serializer.read(medalertdata.class, xmlstream);
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    setContentView(R.layout.allergies);
}

@Root
public class medalertdata {
    @ElementList
    private List<allergy> allergyList;

    public List getAllergies() {
        return allergyList;
    }
}

@Root
public class allergy{

    @Element
    private String to;

    @Element
    private Boolean medical;

    @Element
    private String notes;

    public allergy(String to, Boolean medical, String notes){
        this.to = to;
        this.medical = medical;
        this.notes = notes;
    }

    public String getTo() {
        return to;
    }

    public Boolean getMedical() {
        return medical;
    }

    public String getNotes() {
        return notes;
    }

}

}

Mit der XML-Datei referenziert strukturiert als:

<?xml version="1.0" encoding="ISO-8859-1"?>
<medalertdata>
<allergy>
    <to>Penicillin</to>
    <medical>true</medical>
    <notes></notes>
</allergy>
<allergy>
    <to>Bee Stings</to>
    <medical>false</medical>
    <notes>Sample</notes>
</allergy>
</medalertdata>

Liegt das Problem darin, wie ich die SimpleXML-Klassen annotiert habe oder wo ich versuche, sie zu lesen? Danke!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X