آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
مشکل عدم دسترسی خریداران پیشین به برخی آموزش ها برطرف شد
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

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

122982  6 سال پیش  6 سال پیش
0 0

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

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

+2 0
سلام . شما هر گزینه ای که انتخاب میکنی باید در آرایه هم ، مقدار بولین همون عنصر رو تغییر بدی . و در متد onBindViewHolder وقتی میخوای setChecked کنی ، باید از آرایه بخونی . (6 سال پیش)
 برای این سوال 1 پاسخ وجود دارد. مشاهده پاسخ صحیح
پاسخ به سوال 
Reza  6 سال پیش
+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

+1 0
اره ممنون مشکل همین بود. حل شد . ممنون. (6 سال پیش)

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