পুনর্ব্যবহারযোগ্য ভিউয়ের ভিতরে আমার আইটেমগুলির জন্য এখানে এক্সএমএল রয়েছে
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/cvItems"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_margin="2dp"
card_view:cardElevation="0dp"
card_view:contentPadding="0dp"
card_view:cardBackgroundColor="#FFFFFF"
>
<LinearLayout
android:orientation="horizontal"
android:layout_height="fill_parent"
android:layout_width="fill_parent">
<TextView
android:layout_width="0dip"
android:layout_height="match_parent"
android:layout_weight="0.8"
android:id="@+id/tvContent"
android:textSize="15dp"
android:paddingLeft="5dp"
android:paddingRight="5dp" />
<CheckBox
android:id="@+id/cbSelect"
android:layout_width="0dip"
android:layout_weight="0.2"
android:layout_height="match_parent"
android:button="@drawable/cb_checked"
android:gravity="center_horizontal"
android:textAlignment="center"
android:layout_gravity="center_horizontal" />
</LinearLayout>
</android.support.v7.widget.CardView>
এবং এখানে পুনর্ব্যবহারযোগ্য অ্যাডাপ্টারটি এর প্রতিটি আইটেমের জন্য উপরের লেআউটটিকে স্ফীত করে:
public class AdapterTrashIncome extends RecyclerView.Adapter<AdapterTrashIncome.ViewHolder> {
private ArrayList<ObjectIncome> myItems = new ArrayList<>();
public AdapterTrashIncome(ArrayList<ObjectIncome> getItems, Context context){
try {
mContext = context;
myItems = getItems;
}catch (Exception e){
Log.e(FILE_NAME, "51: " + e.toString());
e.printStackTrace();
}
}
public class ViewHolder extends RecyclerView.ViewHolder {
public TextView tvContent;
public CheckBox cbSelect;
public ViewHolder(View v) {
super(v);
tvContent = (TextView) v.findViewById(R.id.tvContent);
cbSelect = (CheckBox) v.findViewById(R.id.cbSelect);
}
}
@Override
public void onBindViewHolder(ViewHolder holder, final int position) {
final ObjectIncome objIncome = myItems.get(position);
String content = "<b>lalalla</b>";
holder.tvContent.setText(Html.fromHtml(content));
}
}
সমস্যাটি হ'ল ধরা যাক আমার রিসাইক্লিউউয়ের ভিতরে 10 টি আইটেম রয়েছে। আমি যখন আইটেমটি 1,2,3 এ চেকবক্সটি চেক করেছি তখন আমি রিসাইক্লারভিউটি নীচে স্ক্রোল করি, হঠাৎ করে অন্যান্য আইটেমগুলির মধ্যে যেমন 8,9 আইটেমগুলি চেক করা হয়। এবং আমি যখন আবার স্ক্রোল করব তখন আইটেম 1 এবং 3 টি চেক করা হয় তবে আইটেম 2 নয় Any কোনও ধারণা কেন এটি ঘটে?