بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

مشکل با ریسایکل ویو

مدیریت گفتگو
122982 8 سال پیش
آخرین تغییر: 8 سال پیش

سلام دوستان من یک ریسایکل ویو دارم که حدود 20 تا آیتم داره که قابل انتخاب هست با چک باکس /

من وقتی آیتم مثلا اول رو تیک میزنم ولی وقتی دو تا سه تا آیتم پایین اسکرول میکنم و دوباره بالا اسکرول میکنم تیک گزینه ی اول باقی نمی مونه و تیک حذف میشه // علتش چیه ؟ چطور میتونم اطلاعات رو حفظ کنم تا حذف نشه ؟

نظرات

Reza 8 سال پیش
سلام . شما هر گزینه ای که انتخاب میکنی باید در آرایه هم ، مقدار بولین همون عنصر رو تغییر بدی . و در متد onBindViewHolder وقتی میخوای setChecked کنی ، باید از آرایه بخونی .

پاسخ‌ها 1

مشاهده پاسخ صحیح
Reza 8 سال پیش

 پاسخ صحیح

سلام . شما هر گزینه ای که انتخاب میکنی باید در آرایه هم ، مقدار بولین همون عنصر رو تغییر بدی . و در متد 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

نظرات

122982 8 سال پیش
اره ممنون مشکل همین بود. حل شد . ممنون.

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .