Dynamsiche View zur Laufzeit aus XML erzeugen

  • Hallo zusammen :Android:


    ich muss zugeben ich bin noch recht neu in der Android Szene :)


    Ich hab volgendes anliegen, und zwar möchte ich eine dynamische View erstellen, habe jedoch keine Idee wie das funktionieren könnte.
    Der User muss eine XML-Datei auswählen und jenachdem welche Datei ausgewählt wurde soll dann eine View erzeugt werden.
    Die XML beinhaltet die dafür benötigten Daten, also Inhalte (Texte und Gewichtungen für die Berechnung).
    Die View beinhaltet nur labels und inputfelder (auf welche ich natürlich zugriff haben will), denn die View wird in eine andere View Inkludiert. Dort sind Buttons welche eine Berechnung der Werte aus den Inputfeldern anstossen.


    Ist etwas kompliziert zu erklären, hoffe jedoch es ist trotzdem verständlich.


    Könnt ihr mir da weiterhelfen, bzw. ist das überhaupt möglich?


    Gruß
    Gh0s1R3c0N

  • Hoi,


    naja du kannst ja in der onCreate einer Activity sagen

    Java
    setContentView(R.layout.activity_main);


    Wenn du jetzt vor das ganze eine Auswahl schnallst und das R.layout.activity_main dann je nachdem was ausgewählt wurde einsetzt, wird eine andere XML-Layout-Datei verwendet.


    Was genau das jetzt bringt oder ob ich dich überhaupt richtig verstehe, weiß ich allerdings nicht :D



    Gruß,
    matze

  • Servus,
    was genau willst du machen? Den Benutzer eine View auswählen und dann starten lassen oder eine eigene View, die du dynamisch zur Laufzeit ändern kannst? Solltest du den Benutzer die View auswählen lassen, kannst du, wie mein Vorposter schon sagte, eine Funktion zur Auswahl bauen und die View dann aus der XML laden. Solltest du die View selbst zeichnen wollen, dann schreibst du eine Klasse die von View erbt und sich z.B. via Canvas zeichnet -> http://developer.android.com/r…ce/android/view/View.html


    Grüße

  • Das war glaub ich etwas schwammig von mir formuliert, trotzdem Danke für die Antworten.


    mop das was du vorgeschlagen hast geht schon sehr stark in die Richtung, ich müsste ein konkretes bsp. davon sehen um zu sagen ob es das ist was ich suche, ich schau das mir später genauer mal an.


    Hier aber nochmal mein Vorhaben detailiert


    1. Ich hab eine Desktopanwendung geschrieben mit der man XML Dateien erstellt, welche dann für die App zur Verfügung gestellt werden.


    Inhalt der XML:


    Es können beliebig viele Elemente auf ebene 2 sein und auch beliebig viele auf ebene 3 für jede auf ebene 2.


    Diese Dynamik ist genau mein Problem, ich weis ja von vorneherein nicht in der App wieviele Elemente da genau sind.
    Da anhand der Elemente die Benutzeroberfläche erstellt werden soll.


    Nach diesem Schema (bezogen auf die obere XML):


    [Blockierte Grafik: http://s7.directupload.net/images/130519/6jnny2od.jpg]


    Um so mehr Elemente auf Ebene 2 desto mehr Blöcke sinds dann in der App und desto mehr Elemente in Ebene 3 desto mehr Inputfelder gibt es.


    Die Zahlen (a, b, c) aus der XML sind für die Gewichtung bei der Berechnung.


    Ich hoffe das ist jetzt besser verständlich was ich vorhabe.

  • Also willst du XML-Dateien "auslesen" und deren Inhalt auf dem Bildschirm ausgeben? Dazu stellt dir :Android: folgendes zur Verfügung #mce_temp_url# . Du musst das XML parsen, den Inhalt KANNST du dann in einer DB (http://developer.android.com/r…qlite/SQLiteDatabase.html) speichern. Bzw. du kannst den Inhalt in eine ListView (http://developer.android.com/g…s/ui/layout/listview.html) laden oder dir eine eigene View bauen (http://developer.android.com/r…ce/android/view/View.html / Canvas).


    Gruß

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!