نمایش نتایج 1 تا 5 از 5

نام تاپیک: مخفی کردن دسته ای آیتم ها

  1. #1

    مخفی کردن دسته ای آیتم ها

    سلام خدمت دوستان
    وقت بخیر
    یه سوال داشتم

    من یه اسپینر دارم که مقدارهای 1 تا20 توشه
    به تعداد عددها،،، CardView دارم

    حالا یه case نوشتم که اگه مثلا عدد 1 انتخاب شد CardView شماره 1 Visible بشه و بقیشون Invisible

    حالا مشکلی که این وسط هست اینه که در هر حالت،،، من باید توی هر case حدود 20 خط کد بنویسم که فلان cardview رو فعال کن و دیگری ها رو غیر فعال

    راهی هست که بگیم همه cardview ها غیرفعال شه بجز فلان cardview ؟؟؟


    ممنون

  2. #2
    کاربر دائمی آواتار Nevercom
    تاریخ عضویت
    دی 1387
    محل زندگی
    بستک
    سن
    35
    پست
    1,118

    نقل قول: مخفی کردن دسته ای آیتم ها

    الان شما یه سری عدد ترتیبی دارید که هرکدوم به یه ویو خاص اشاره می کنن، بنظر میاد که آرایه میتونه گزینه خوبی باشه.

    یه آرایه بسازید و توش CardView ها رو به ترتیب قرار بدید. هر عددی انتخاب شد تو یه حلقه کل آرایه رو پیمایش می کنید و هرکدوم از ویو ها رو از آرایه استخراج می کنید و Visibilityشون رو تغییر میدید، همه مخفی میشن بجز اونی که اندیسش در آرایه برابر با عدد مدنظر - 1 هست.

    اگر هم از ButterKnife استفاده می کنید (که من خیلی دوسش دارم)، متدی داره بنام apply که روی لیستی از Viewها اجرا میشه و میتونه یه پارامتر از همه‌ی اونا رو با هم تغییر بده (مثل Visibility)

  3. #3

    نقل قول: مخفی کردن دسته ای آیتم ها

    نقل قول نوشته شده توسط Nevercom مشاهده تاپیک
    الان شما یه سری عدد ترتیبی دارید که هرکدوم به یه ویو خاص اشاره می کنن، بنظر میاد که آرایه میتونه گزینه خوبی باشه.

    یه آرایه بسازید و توش CardView ها رو به ترتیب قرار بدید. هر عددی انتخاب شد تو یه حلقه کل آرایه رو پیمایش می کنید و هرکدوم از ویو ها رو از آرایه استخراج می کنید و Visibilityشون رو تغییر میدید، همه مخفی میشن بجز اونی که اندیسش در آرایه برابر با عدد مدنظر - 1 هست.

    اگر هم از ButterKnife استفاده می کنید (که من خیلی دوسش دارم)، متدی داره بنام apply که روی لیستی از Viewها اجرا میشه و میتونه یه پارامتر از همه‌ی اونا رو با هم تغییر بده (مثل Visibility)


    سلام ممنون از راهنماییت
    میشه بیشتر توضیح بدی
    راستش نمیدونم چطور باید این مدل ارایه رو تعریف کنم...
    بعدشم چطوری باید مخفی و نمایش بدم.. :D

  4. #4
    کاربر دائمی آواتار Nevercom
    تاریخ عضویت
    دی 1387
    محل زندگی
    بستک
    سن
    35
    پست
    1,118

    نقل قول: مخفی کردن دسته ای آیتم ها

    خب الان مگه شما نمیگی من CardView ها همین الانشم مخفی می کنم، اما چون تو Switch هست، باید واسه هر بلاک Case کلی خط کد تکراری بنویسم ؟

    پس از الان شما می‌دونی چطور باید Visibility رو تغییر بدی، فقط می‌خوای به روش بهتری انجامش بدی

    شما بیا یه آرایه درست کن از CardViewها (اونا رو قبلن با findViewById پیدا کردی رو ریختی تو یه متغیر)

    CardView[] cvList = {cv1, cv2,....};


    بعد مثلن میخای سومی رو نشون بدی باقی رو مخفی کنی، یه حلقه for بساز از 0 تا cvList.length (طول آرایه)
    تو حلقه چک می کنی اگه شمارنده حلقه (i) برابر با اون عدد مدنظر شما بود (عدد شما منهای ۱ چون وقتی میگی اولی، یعنی اندیس 0 در آرایه)، VISIBLEش کن، در غیراینصورت INVISIBLE

    مهم نیست کدوم خصوصیت رو میخوای تغییر بدی، فقط کافیه شئ رو از آرایه استخراج کنی و متد موردنظر رو روش صدا بزنی


    int position = 5;
    for (int i = 0; i < cvList.length; i++) {


    if (i == position - 1) {
    cvList[i].setVisibility(View.VISIBLE);
    } else {
    cvList[i].setVisibility(View.INVISIBLE);
    }
    }

  5. #5

    نقل قول: مخفی کردن دسته ای آیتم ها

    نقل قول نوشته شده توسط Nevercom مشاهده تاپیک
    خب الان مگه شما نمیگی من CardView ها همین الانشم مخفی می کنم، اما چون تو Switch هست، باید واسه هر بلاک Case کلی خط کد تکراری بنویسم ؟

    پس از الان شما می‌دونی چطور باید Visibility رو تغییر بدی، فقط می‌خوای به روش بهتری انجامش بدی

    شما بیا یه آرایه درست کن از CardViewها (اونا رو قبلن با findViewById پیدا کردی رو ریختی تو یه متغیر)

    CardView[] cvList = {cv1, cv2,....};


    بعد مثلن میخای سومی رو نشون بدی باقی رو مخفی کنی، یه حلقه for بساز از 0 تا cvList.length (طول آرایه)
    تو حلقه چک می کنی اگه شمارنده حلقه (i) برابر با اون عدد مدنظر شما بود (عدد شما منهای ۱ چون وقتی میگی اولی، یعنی اندیس 0 در آرایه)، VISIBLEش کن، در غیراینصورت INVISIBLE

    مهم نیست کدوم خصوصیت رو میخوای تغییر بدی، فقط کافیه شئ رو از آرایه استخراج کنی و متد موردنظر رو روش صدا بزنی


    int position = 5;
    for (int i = 0; i < cvList.length; i++) {


    if (i == position - 1) {
    cvList[i].setVisibility(View.VISIBLE);
    } else {
    cvList[i].setVisibility(View.INVISIBLE);
    }
    }


    بسیار عالی
    دستت درد نکنه
    یه چیزی یادم دادی که خیییییلی کارم جلو میوفته
    ممنونم :)

تاپیک های مشابه

  1. سوال: ايمپورت كردن دسته اي به داخل فايل MDB
    نوشته شده توسط connector در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 5
    آخرین پست: شنبه 07 فروردین 1389, 09:33 صبح
  2. Rename کردن دسته جمعی فایل ها
    نوشته شده توسط Tarrah در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 5
    آخرین پست: یک شنبه 08 آذر 1388, 14:18 عصر
  3. سوال: دسته بندی آیتم ها در dropdownlist
    نوشته شده توسط arhnmn در بخش ASP.NET Web Forms
    پاسخ: 0
    آخرین پست: سه شنبه 12 خرداد 1388, 17:35 عصر
  4. تکنیک مخفی کردن url و متغییر ها در Google
    نوشته شده توسط maa_biz در بخش PHP
    پاسخ: 7
    آخرین پست: دوشنبه 14 خرداد 1386, 10:34 صبح
  5. اسکن دسته ای عکس ها
    نوشته شده توسط vaj_bor در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 6
    آخرین پست: پنج شنبه 10 اسفند 1385, 17:16 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •