私はRecyclerView
に項目があり、そのすべてにcheckbox
があります。ポイントは、checkbox
をchecked
(お気に入りのようなもの)としか設定できないということです。 RecyclerView
をスクロールするのに十分な項目があるまでは、すべて正常に機能します。しかし、スクロールするのに十分なアイテムがあると、アイテムの名前の一部が消えて、checkboxes
のどれもが1つを除いて動作せず、すべてが固まってしまいます。これは私がやっているものですチェックボックスが付いたRecyclerviewの項目が歪んでいます
"Cannot call this method while RecyclerView is computing a layout or scrolling"
:また、私は次の例外を取得し、私はその行を削除した場合、それはすべて大丈夫です
holder.getBinder().cbIsFavourite.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (mListener == null) {
return;
}
if (isChecked) {
for (Peem peemTmp : mPeemList) {
if (peemTmp.isFavourite()) {
peemTmp.setFavourite(false);
}
}
peem.setFavourite(true);
PeemAdapter.this.notifyDataSetChanged();
} else {
peem.setFavourite(false);
removeFavouriteShops(peem);
}
mListener.onFavouriteChecked(peem);
}
});
をエラーがこの行で発生PeemAdapter.this.notifyDataSetChanged();
が、考え方ではない複数のcheckboxes
を選択することができます。
それはので、私は今、ラジオボタンを実装することはできません。この方法で行われました。しかし私の場合、あなたの例をどうすれば使えますか? – Esteban
答えを編集しました...うまくいきたい/助けてください –
いいえ、うまくいきません。最後の3つのボトム項目がちらつき始め、何もクリックできません。私は 'notifyItemRangeChanged(0、mPeemList.size()); 'を使って試してみましたが動作しますが、時には最初の項目に問題があります... – Esteban