Android enthält Layout dynamisch mit Datenbindungsbibliothek

9

Ich verwende MVVM-Framework für Android-Anwendungen mit Datenbindungsbibliothek.

Ich habe einige wiederverwendbare Komponenten, die jede Aktivität haben sollten. f. Symbolleiste, Menü, schwebende Aktionsschaltfläche.

Ich möchte eine generische Aktivität erstellen, die alle diese wiederverwendbaren Funktionen implementiert, und dann wird jede Aktivitätsklasse von dieser generischen Aktivität geerbt. Ich habe auch GenericViewModel Klasse und jedes andere ViewModel wird von dieser generischen Klasse geerbt.

Aber ich habe ein Problem mit dem Layout. Ich möchte eine generische Layoutdatei erstellen und dort das Unterlayout dynamisch einfügen. zB.

%Vor%

Ich möchte diesen Code nicht für jede Aktivität kopieren / einfügen, aber die Datenbindungsbibliothek erlaubt kein dynamisches Einfügen des Layouts. Gibt es eine Lösung für solche Fälle?

    
Sandro Gedevanishvili 04.04.2016, 13:36
quelle

1 Antwort

0

Hier ist meine Lösung, hoffe, es wird dir helfen, ich denke nicht, dass es ein guter Weg ist. Wenn du einen besseren Weg findest, sag es mir bitte. Danke!

Obwohl die Datenbindungsbibliothek kein dynamisches Layout zulässt, können wir für ein anderes Layout ein anderes ViewModel verwenden. Ich habe ein LinearLayout als Container für das dynamische Layout verwendet und dann die setContentView-Methode überschrieben, um meinem Container eine Ansicht hinzuzufügen (LinearLayout ).

GenericActivity

%Vor%

generisches Layout Layout

%Vor%

In konkreter Aktivität verwendest du es wie folgt:

ConcreteActivity

%Vor%

Für mich ist es nicht nötig, das generische Layout für jede Aktivität zu kopieren.

    
Yelin Wu 05.04.2016, 04:00
quelle