Sto costruendo un'app che genera dinamicamente alcune etichette e viste. Ho definito come la mia "vista personalizzata" dovrebbe apparire in un layout xml e dal codice che ho gonfiato questo layout.Come memorizzare le viste in Android?
Perché il layout gonfiato sarà sempre lo stesso, voglio fare questo passaggio solo una volta. Dopo che ho il layout, voglio memorizzarlo nella cache e usarlo la prossima volta quando ne avrò bisogno.
Il problema è che se metto il mio layout gonfiato in cache (in un hashmap con l'esempio) e lo aggiungo a un layout genitore, la prossima volta quando provo ad aggiungerlo di nuovo (questa volta otterrò il layout dalla cache) il sistema dice che il mio layout ha già un genitore.
Conoscete qualche metodo per staccare una vista secondaria dal genitore senza rimuovere la vista secondaria?
Aggiunto po 'di codice:
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);
In che modo esattamente si memorizza nella cache il layout e perché lo stai facendo in questo modo? – DroidBender
Voglio farlo in questo modo perché non ha senso rigonfiare la stessa vista che era già gonfiata. Ad esempio, devo mostrare 5 caselle di testo che hanno lo stesso layout ma contenuti diversi. –