Ich baue eine App, die dynamisch einige Beschriftungen und Ansichten generiert. Ich habe definiert, wie meine "benutzerdefinierte Ansicht" in einem XML-Layout aussehen sollte und aus dem Code I dieses Layout aufblasen.Wie werden Ansichten in Android zwischengespeichert?
Da das aufgeblähte Layout immer gleich ist, möchte ich diesen Schritt nur einmal machen. Nachdem ich das Layout habe, möchte ich es zwischenspeichern und es beim nächsten Mal verwenden, wenn ich es brauche.
Das Problem ist, dass, wenn ich mein überhöhtes Layout im Cache (in einer Hashmap mit Beispiel) und fügen Sie es zu einem übergeordneten Layout, das nächste Mal, wenn ich es erneut hinzufügen (dieses Mal bekomme ich das Layout aus dem Cache) Das System sagt, dass mein Layout bereits einen Elternteil hat.
Kennen Sie eine Methode, um eine untergeordnete Ansicht von übergeordneten Elementen zu trennen, ohne die untergeordnete Ansicht zu entfernen?
Added einige Code:
private static HashMap<String, LinearLayout> mComponentsCache;
// inflate and add the layout in cache
layout = (LinearLayout)mLf.inflate(R.layout.form_textbox, mHolder, false);
mComponentsCache.put(FormFieldType.TYPE_TEXT, layout);
Wie genau cachen Sie das Layout und warum machst du es so? – DroidBender
Ich möchte es auf diese Weise tun, weil es keinen Sinn macht, dieselbe Ansicht, die bereits aufgebläht war, wieder aufzublasen. Als ein Beispiel muss ich 5 Textboxen zeigen, die das gleiche Layout aber unterschiedliche Inhalte haben. –