Initialement j'avais un ArrayList<Book>
parfaitement fonctionnel. Mais, je voulais montrer ma liste de livres dans un menu PopUp, pour ce AlertDialog.Builder
avec setMultiChoiceItems
était le choix approprié que j'ai fait. Donc j'ai dû convertir ce ArrayList
en CharSequence
. Jusqu'ici tout va bien. Le problème vient maintenant: je veux montrer l'option (s) précédemment sélectionnée dans un RecyclerView, (déjà codé), mais j'ai besoin de ces getters et setters de mon objet. Comment cela peut-il être résolu?Comparer les différents types de ArrayList
(EDIT)
fab.setOnClockListener (new View.OnClickListener() {
@Override
public void onClick(View v) {
final ArrayList<Integer> bookSel = new ArrayLis();
ArraList<Book> arrayBook = (ArrayList<Book>) bd.getBooks();
final CharSequence[] cs = new CharSequence[arrayBook.size()];
for (int i = 0; i < arrayBook.size(); i++) {
cs[i] = String.valueOf(arrayBook.get(i));
}
final AlertDialog.Builder alertBuilder = new AlertDialog.Builder (getActivity());
alertBuilder.setTitle("Books")
.setMultiChoiceItems(cs, null, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
if (isChecked) {
bookSel.add(which);
} else if (bookSel.contains(which)) {
bookSel.remove(Integer.valueOf(which));
}
}
});
alertBuilder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onCLick(DialogInterface dialog, int which) {
ArrayList<String> listAux = new ArrayList<>();
for (int i = 0; i < bookSel.size(); i++) {
listAux.add(String.valueOf(cs[bookSel.get(i)]));
}
BookAdapter adp = new BookAdapter(getActivity(),/*send the object<Book>*/);
recyclerView.setAdapter(adp);
}
});
}
});
Si vous partagez votre code, il sera facile de vous aider. Merci – Bethan
Ok. Je vais éditer maintenant. –