-2
最初はArrayList<Book>
が完全に機能していました。しかし、私はポップアップメニューで本のリストを見せたいと思っていました。これはAlertDialog.Builder
とsetMultiChoiceItems
が私が作った適切な選択肢でした。だから私はこのArrayList
をCharSequence
に変換しなければならなかった。ここまでは順調ですね。問題は次のようになります:RecyclerViewで以前に選択したオプションを表示したいのですが(すでにコード化されています)、オブジェクトのgetterとsetterが必要になります。どのようにこれを解決することができますか?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);
}
});
}
});
あなたのコードを共有している場合、あなたを助けるために簡単になります。ありがとう – Bethan
私は今編集します。 –