۳ Reza Tavassoli
Checkbox
جامعه جاوا (اندروید) ایجاد شده در ۰۶ فروردین ۱۳۹۹

سلام 

برای اینکه بعد از check شدن هر چک باکس کار خاصی انجام بدهیم و در متد OnCheckedChanged کدی بنویسم. برای متوجه شدن مقدار isChecked  میخواستم ببینم راه بهتری هم وجود داره یا نه (بجز کدی که من نوشتم)؟ 

CheckBox boxAndroid = findViewById(R.id.checkBox_main_android);
boxAndroid.setOnCheckedChangeListener(this);
CheckBox boxUi = findViewById(R.id.checkBox_main_ui);
boxUi.setOnCheckedChangeListener(this);
CheckBox boxDeep = findViewById(R.id.checkBox_main_deep);
boxDeep.setOnCheckedChangeListener(this);
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
   if (buttonView.getId() == R.id.checkBox_main_android && isChecked) {
       Toast.makeText(this, "Android is checked", Toast.LENGTH_LONG).show();
   }
    if (buttonView.getId() == R.id.checkBox_main_deep && isChecked ) {
        Toast.makeText(this, "Deep is checked", Toast.LENGTH_LONG).show();
    }
    if (buttonView.getId() == R.id.checkBox_main_ui && isChecked) {
        Toast.makeText(this,  "is checked", Toast.LENGTH_LONG).show();
    }
}

 

 

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

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

اینم از صفت onClick xml  از این خوشم میاد

اینجا هم کتابAndroid Desgin Patterns and Best Practice یه مثال  ترکیبی از check box  ,Radio Button, Switch

یه روش دیگه هم هست که البته یکی از بچه‌ها قبلا گفته بود و  ایجاد یه تابع جدا که اینجا می‌تونید پیاده سازیشو  ببینید

یکی دیگه هم هست که اومده بازم از تابع استفاده کرده، اما دو تابع یکی  جدا واسه بررسی checkbox یکی هم واسه بررسی بازهم checkbox اما با این تفاوت که وقتی روی یه دکمه زده شد بررسی صورت بگیره

باز هم هست بگردی ولی تقریبا همشون دارن الکی کشش میدن ولی همون خط رو دارن

اما بنظرم همین که استاد نوشت تا الان بهترین چیزیه که حداقل من دیدم هم راحته هم خیلی زود چشمی می‌تونیم کدمونو  مرور کنیم و  قابل فهم تره و بیشتر هم رایجه

امیدوارم کمکی باشه و اینکه اینایی بود که دیده بودم اگر شما چیزی بهتری دیدید حتما اینجا بفرستید 

مهرداد ۰۶ فروردین ۱۳۹۹، ۱۷:۰۶

دقیقا باهات موافقم مهرداد جان.
من خودم جدای بحث وب و اپلیکیشن ، برنامه نویس متلب هستم. توی متلب همیشه ما میگیم راه زیاده برای اجرای یه پروژه . با همه ی راه‌ها میشه پروژه رو اجرا کرد و خروجی‌ها یکسانه. ولی پروژه ای بهینه هست که :
۱- کد خوانایی خوبی داشته باشه
۲- تعداد خط کد به کمترین حالت ممکن باشه.

3- سرعت اجرای کد
توی اندروید و سایت و ر زبان کدنویسی این اصل هستش.
به نظر من استاد شاهینی عزیز بهترین‌ها رو میگن. چون با همه کار کردن و من هر کدوم از روش‌ها رو بررسی میکنم میبینم از نظر اون سه مورد بالا عرض کردم روش‌های استاد هم بهینه هست و هم سرعت کار رو میبره بالا و هم حفظ کردنش راحت تره و هم خوانایی کد..
دلیلی نداره وقتی میتونیم لقمه رو مستقیم بذاریم توی دهنمون بچرخونیم از پشت سر بخوریمش.
البته برای یادگیری خوبه روش‌های دیگه رو بشناسیم ولی برای استفاده به نظرم روش هایی که استاد میگن بهینه تره .

احمد اسماعیلی ۲۶ اردیبهشت ۱۳۹۹، ۲۱:۰۱

درود

با اجازه آقای توسلی

گمان میکنم  یکی از کدهای بالا که در زیر نوشته شده ایراد داشته باشه چون مقدار متغیر isChecked بولین هست ونمیشه ترکیب منطقی ایجاد کنه با R.id.checkBox_main_deep.

دوستان اگر اشتباه میکنم تصحیح بفرمایید.

 

buttonView.getId() == R.id.checkBox_main_deep && isChecked

 

پژمان آزاد ۲۹ اردیبهشت ۱۳۹۹، ۱۵:۳۷