بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
مشکل با ریسایکل ویو
سلام دوستان من یک ریسایکل ویو دارم که حدود 20 تا آیتم داره که قابل انتخاب هست با چک باکس /
من وقتی آیتم مثلا اول رو تیک میزنم ولی وقتی دو تا سه تا آیتم پایین اسکرول میکنم و دوباره بالا اسکرول میکنم تیک گزینه ی اول باقی نمی مونه و تیک حذف میشه // علتش چیه ؟ چطور میتونم اطلاعات رو حفظ کنم تا حذف نشه ؟
+2
0

سلام . شما هر گزینه ای که انتخاب میکنی باید در آرایه هم ، مقدار بولین همون عنصر رو تغییر بدی . و در متد onBindViewHolder وقتی میخوای setChecked کنی ، باید از آرایه بخونی . (7 سال پیش)
برای این سوال 1 پاسخ وجود دارد.
مشاهده پاسخ صحیح

پاسخ به سوال
Reza
7 سال پیش
+1
0
پاسخ صحیح
سلام . شما هر گزینه ای که انتخاب میکنی باید در آرایه هم ، مقدار بولین همون عنصر رو تغییر بدی . و در متد onBindViewHolder وقتی میخوای setChecked کنی ، باید از آرایه بخونی :
@Override
public void onBindViewHolder(final ViewHolder holder, final int position) {
final Struct item = list.get(position);
holder.chk_Done.setSelected(item.isSelected);
holder.chk_Done.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
item.isSelected = !item.isSelected;
notifyItemChanged(position);
}
});
}
در کلاس ViewHolder یک چک باکس به نام chk_Done تعریف کن و در کلاس مدل (Struct) یه فیلد بولین به نام isSelected
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .