Ich muss Änderungen an einer XML-Layout-Datei vornehmen, bevor ich es aufblasen, aber jede Änderung, die ich versuche, geben Sie eine null object error
. Gibt es einen möglichen Weg dies zu tun?Edit XML-Layouts vor dem Aufblasen von
Antwort
Ich muss Änderungen an einem XML-Layout-Datei machen, bevor ich es aufzublasen,
Dann müssen Sie Ihre XML in Ihre IDE ändern. Wenn du wirklich meinst "Ich muss Änderungen an den aufgeblasenen Objekten vornehmen, bevor ich sie aufblase", ist das nicht möglich, da die Zeit in unserem Teil des Universums nicht rückwärts fließt.
Sie können also das Layout im Hintergrund nicht aufblasen oder es irgendwie verstecken, während die Änderungen vorgenommen werden? –
@ Axonshi123: Ich bin nicht sicher, warum Sie denken, dass Sie das brauchen. Sie können das Layout jedoch auch manuell mit 'getLayoutInflater(). Inflate (R.layout.whatever, theEventualParent, false)' aufblasen. Nehmen Sie dann Änderungen am Inhalt vor, indem Sie 'findViewById()' für das von 'inflate()' zurückgegebene Objekt aufrufen, um die Widgets im überhöhten Layout zu erhalten. Wenn Sie fertig sind, rufen Sie 'addView()' auf 'theEventualParent' (der Container für diese Widgets) auf, um sie an den Container zur Anzeige anzuhängen. – CommonsWare
Sie können festlegen, dass alle Ansichten in der XML-Datei unsichtbar sein sollen, ändern Sie sie nach dem Laden der Inhaltsansicht und machen Sie sie dann sichtbar. Aber wofür? –
Sie können das Layout vor dem Aufblasen nicht bearbeiten –
'Gibt es einen möglichen Weg?' ** NEIN **. –
Wie oben ... können Sie XML-Dateien nicht direkt im laufenden Programm bearbeiten. Sie können jedoch Ansichts- und Ansichtsgruppenwerte ändern. Wenn Sie dynamische Sichten erstellen möchten, erstellen Sie Platzhalteransichten in der XML-Datei. Oder schauen Sie in die Animation, wenn Sie das planen, – VikingPingvin