
Max1809
Fortgeschrittenes Mitglied
- 6
Hallo zusammen,
ich habe ein kleines Problem.
Ich kann bei mir bestimmte Objekte als Favorit kennzeichnen. Dazu passe ich eine XML-Datei dementsprechend an.
Dazu ein kurzer Auszug aus der entsprechenden Methoden:
Das funktioniert grundsätzlich auch ganz gut. Nur denke ich, dass ich zeitlich hier ein Problem habe.
Diese Funktionalität wird durch einen Button aufgerufen. Wenn diese Methode durchgelaufen ist, wechsle ich in die entsprechende "Favoriten"-Maske und aktualisiere die ListView dort.
Leider kriegt die Maske die Änderung in der XML-Datei nicht mit
Erst nach Neustart der App ist das entsprechende Objekt auch unter "Favoriten" zu finden.
EDIT: Es tut mir Leid!!!
Böser Fehler unterlaufen ... die XML-Nachricht wurde korrekt geschrieben. Kein Problem.
Das Problem war, dass ich in der Favoriten-Activity die Methode "onRestart" überschrieben habe -> in der Hoffnung, dass diese beim erneuten Aufruf gestartet wird.
War leider nicht so. Es ist die Methode "onResume".
ich habe ein kleines Problem.
Ich kann bei mir bestimmte Objekte als Favorit kennzeichnen. Dazu passe ich eine XML-Datei dementsprechend an.
Dazu ein kurzer Auszug aus der entsprechenden Methoden:
Code:
try {
DocumentBuilderFactory docFactory = DocumentBuilderFactory
.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.parse(xmlNachricht);
// Root-Knoten holen
Node nodes = doc.getElementsByTagName("Nachricht").item(0);
// Kindknoten durchlaufen und richtiges Element suchen
NodeList list = nodes.getChildNodes();
for (int i = 0; i < list.getLength(); i++) {
Node node = list.item(i);
String temp = node.getNodeName();
if ("Informationen_zur_Nachricht".equals(node.getNodeName())) {
NodeList kinder = node.getChildNodes();
for (int n = 0; n < kinder.getLength(); n++) {
if ("Favorit".equals(kinder.item(n).getNodeName())) {
kinder.item(n).setTextContent("J");
Log.d("XML", "Setze Favoriten-Kennzeichen.");
break;
}
}
}
}
Transformer transformer = TransformerFactory.newInstance()
.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
StreamResult result = new StreamResult(xmlNachricht);
DOMSource source = new DOMSource(doc);
transformer.transform(source, result);
} catch (Exception e) {
e.printStackTrace();
return false;
}
Diese Funktionalität wird durch einen Button aufgerufen. Wenn diese Methode durchgelaufen ist, wechsle ich in die entsprechende "Favoriten"-Maske und aktualisiere die ListView dort.
Leider kriegt die Maske die Änderung in der XML-Datei nicht mit

EDIT: Es tut mir Leid!!!
Böser Fehler unterlaufen ... die XML-Nachricht wurde korrekt geschrieben. Kein Problem.
Das Problem war, dass ich in der Favoriten-Activity die Methode "onRestart" überschrieben habe -> in der Hoffnung, dass diese beim erneuten Aufruf gestartet wird.
War leider nicht so. Es ist die Methode "onResume".
Zuletzt bearbeitet: