در مورد setChecked

پرسیده شده
فعالیت 1329 روز پیش
دیده شده 615 بار
0

درود

 

1.

با وجود کد:

materialCardView.setChecked(true);

چه لزومی داره که صفت checkable درون بدنه المان CardView بصورت دستی هم فعال بشه؟

 

2.

قابلیت check box که به آیتم مون دادیم استاد میگن چون id همه آیتمها یکی هست فقط روی اولی کار میکنه. در صورتیکه چون id ها  یکسانه و ما چند تا کپی گرفتیم بنابراین باید مثلا همه آیتمها check دار بشن در ابتدای نمایش اپلیکیشن. چرا اینطور نیست؟ و فقط آیتم اول Checkmark میگیره؟

 

3.

با توجه به دستور زیر:

materialCardView.setChecked(!materialCardView.isCheckable());

وقتی روی آیتم اول کلیک بشه از اونجا که برای بار اول materialCardView.isCheckable خروجیش true هست پس نقیضش میشه false و با (setChecked(false علامت check از روی آیتم اول برداشته میشه ولی اگر بار دوم وقتی روی همین آیتم کلیک میشه چرا علامت ckeck برنمیگرده؟ چون در حال حاضر (setChecked(true هست دیگه؟

 

4.

اگر بخوایم  در این مثال، مثل یک CheckBox با کلیک روی هر آیتم علامت تیک یا checkmark به اون منتقل بشه یعنی نشون بده در حال حاضر این آیتم در حال انتخاب هست چه باید کرد؟

 

 

سپاس

 

فایل پیوست

پژمان آزاد
پژمان آزاد

16 شهریور 99

1
حذف شده

سلام وقت بخیر

سوال یک رو به درستی متوجه نشدم

سوال دوم به صورت دقیق با این موضوع , در سر فصل های پیش رو آشنا خواهید شد .

سوال سوم : من فکر میکنم یه جای کد رو اشتباه نوشتید چون به درستی کار میکرد . فراموش نکنید این مورد رو باید در بدونه clickListener  ویو مربوطه که در اینجا MaterialCardView هست بنویسید.

سوال چهارم : سرفصل TodoList به این موضوع با جزییات پرداخته شده است.

 

فایل پیوست

پوریا شفیعی

توسط

پوریا شفیعی

17 شهریور 99

0
حذف شده

درود پوریای عزیزم

در مورد سئوال شماره ۱، استاد طی آموزش ضمن نوشتن کد بالا در بدنه onViewCreated کلاس MainFragment اومدن و در بدنه materialCardView هم بصورت دستی صفت ckeckable رو true کردن. سئوالم این هست با وجود کد logicش چه نیازی به دستی ست کردن این صفت هست؟ درست مثل onClickListeener و صفت clickable. البته ناگفته نمونه...
خود من صفت دستی checkable رو برداشتم ودیگه برنامه درست کار نکرد حتی با وجود کد setChecked(true)  در بدنه MainFragment.

در مورد سئوال شماره ۳ هم کد رو ضمیمه میکنم خودت بیزحمت نگاه کن. هنگام اجرای اولیه برنامه همه چیز درست هست و آیکن checked انتخابی بالای گوشه سمت راست آیتم اول هست وقتی روش کلیک میشه از بین میره. تا اینجا همه چیز درسته ولی وقتی دوباره روی آیتم اول کلیک میشه آیکن checked با توجه به کد logic برنامه باید برگرده ولی اینطور نیست.

فایل پیوست

پژمان آزاد

توسط

پژمان آزاد

17 شهریور 99

حذف شده
پژمان جان سلام حتما مورد بررسی قرار میدم و نتیجه رو خدمتت مینویسم.
پوریا شفیعی

17 شهریور 99

حذف شده
ممنون پوریا جان. البته فکر میکنم مشکل رو پیدا کردم. باید بجای تابع ischeckable از ischecked استفاده میکردم ولی نکته جالبش اینجاست که اندروید استودیو خطای کامپایل نگرفته تا الان.
پژمان آزاد

18 شهریور 99