Domanda

Ho creato un'attività, che ha una vista elenco espandibile della categoria e alcuni di loro come sottocategoria. Tutti devono essere controllabili. Ho usato per sottocategoria, una controllataTextView. Per la categoria, ho utilizzato una casella di controllo TextView e una casella, poiché quando clicziamo sul nome della categoria, abbiamo bisogno di espandersi (è una vista elenco espandibile dopo tutto!). Per la selezione, il ListView è su "Modalità scelta multipla". L'adattatore come elenco di elementi selezionati e nella vista GetChild / GetGroup (), ho impostato la casella di controllo (o il checkedTextViewView) sullo stato fornito dallo sparseboolenarray (del ListView). Per ogni casella di controllo lo faccio:

holder.checkbox.setOnCheckedChangeListener(new checkListener(groupPosition));
.

Quindi quando controllo una casella di controllo, so quale posizione è nella lista di lista.

Ma ho un sacco di problemi con quelle implementazioni (la posizione indicata non è buona, ecc.). Io uso il metodo della vista elenco espandibile per ottenere la flatlistposition, ma sospetto che la vista elenco espandibile non sia davvero compatibile con la scelta o la selezione ...

è giusto? Qualcuno ha già avuto difficoltà a far funzionare un progetto simile?

È stato utile?

Soluzione

Ho trovato un post che dice che i due modi sono incompatibili, ma non riesco a ricordare dove.

Mi fermo sul modo in cui ho trovato, associando un array booleano per gruppi, e una matrice booleana due dimensionale per i bambini, e ogni clic su un gruppo o un bambino cambierà il booleano associato alla posizione.

È un po 'pesante ma funziona e possiamo fare tutto ciò che vogliamo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top