Autore Topic: infinite Recycleview/ListView e relativi adapter  (Letto 191 volte)

Offline tonno16

  • Utente storico
  • *****
  • Post: 1197
  • Respect: +58
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
infinite Recycleview/ListView e relativi adapter
« il: 27 Novembre 2015, 13:54:09 CET »
0
Salve a tutti.

Premetto che usare recycleview o listview non cambia. Diciamo che le prime, si comportano bene col cordinator layout e i vari metodi per nascondere e mostrare la toolbar.
Ho circa 20 schermate nella mia app. Almeno 15 hanno una lista da visualizzare. In ottica futura il cliente potrebbe richiedere altri tab.
Non posso/voglio crearmi 20 layout xml 20 adapter e 20 ViewHollder.
Ho provato ad astrarre tutti:

Potrei distinguere i layout in base al numero di campi. Per cui ho creato 5 xml. Si chiamano rispettivamente one_field.xml two_field.xml..... e cosi via. Ovviamente il primo ha una textview e il secondo ne ha 2, mantenendo ovviamente gli stessi id.
Ora ho creato la classe OneViewHolder dove inizializzo un campo TextView. Poi ho TwoViewHolder che estende OneViewHolder e cosi via fino ad arrivare a 5. In ogni NHolder inizializzo una textview nuova.

Ho creato Poi OneAdapter<I>. I perchè in un preciso contesto I sarà un oggetto Palla con 3 campi e in un altro contesto avrò che I è Pluto con 5 campi al suo interno. Usero quindi i rispettivi Holder.
Il mio obiettivo è avere uan roba del tipo:
Codice (Java): [Seleziona]
recycleview = (recycleview) findViewById(R.id.rec);
TwoAdapter<Pluto> adapter = new TwoAdapter(listaItem,R.layout.two_field.xml){
      @Override
      public void bindMyItem(TwoHolder holder, Pluto item){
        // holder.setTextView1(pluto.getTitle());
        // altri assegnamenti
      }
}

Ovviamente nel caso voglio usare l'oggetto Casa che ha 7 campi posso dichiarare un SevenAdapter<Casa> con il relativo SevenHolder.

Come potrei quindi creare le varie gerarchie? Ci sto provando ma non ne vengo a capo