استفاده از RadioButton
RadioButton اگر انتخاب شده باشه میگوییم
if (RadioButton .isChecked())
اگر بخواهیم بگوییم اگر انتخاب نشده باشه از چه متدی استفاده میکنیم
نگید else متدش رو میخوام
شرمنده اون سئوال شمارش معکوس هم ادیت کردم لطفا پاسخ بدید
از این علامت برای منفی کردن عبارت استفاده میشه "!" (نقیض ، not)
در واقع الان گفته میشه : "اگر چک نخورده بود!" دستور رو اجرا کن.
if (!(RadioButton .isChecked()))
دوست من این کد کار نکرد یعنی وقتی این چهار تا چک نخورده بود این متن رو چاپ نکرد
} else if (!(rbd.isChecked()) && !(rba.isChecked()) && !(rbb.isChecked()) && !(rbc.isChecked())) {
txtcheck1.setText("انتخاب نشده");
txtcheck1.setTextColor(Color.parseColor("#fe0600"));
}
به این صورت هم نوشتم بازم نشد
} else if ( !(rbd.isChecked() && rba.isChecked() && rbb.isChecked() && rbc.isChecked())) {
txtcheck1.setText("انتخاب نشده");
txtcheck1.setTextColor(Color.parseColor("#fe0600"));
}
من کدی میخوام بگه اگه این چهار تا تیک نخورده بودن این رو چاپ کن از else هم استفاده کردم ولی اون متن رو چاپ نمیکنه
توجه کنید ، دکمه های رادیو برای انتخاب یک گزینه از بین چند گزینه است ، اگه امکان اتخاب همزمان دارید ، چک باکس گزینه ی مناسب تریه !
برای مدیریت بهتر دکمه های رادیویی از RadioGroup استفاده کنید ، تا کاربر امکان تغییر گزینه انتخاب شده رو داشته باشه !
حالا وقته حل مشکله :
متد isChecked همون طور که دیدید ، مقدار چک خوردن رو نشون میده ، حالا اگه بخواین چک نخوردن برسی بشه ، کد پایین کفایت میکنه
if (radio.isChecked()==false)
{
}
ischeck وضعیت انتخابشه ، اگه کاربره انتخاب کرده باشه == true و اگر انتخاب نکرده باشه ==false هست ، البته چون مقدار برگشتی بولین ، یا صحیح یا غلط هست میشه مستقیم در شرط استفاده کرد
اینطور که من متوجه شدم شما میخواید که اگر هیچ یک از RadioButton ها انتخاب نشده بود یه کار خاصی انجام بده پس حتما در شروع برنامه هیچ کدوم از RadioButton ها نباید انتخاب شده باشند که بهترین روش استفاده از RadioGroup هست و در شروع برنام از حالت انتخاب در بیاریدش میتونید از این کد استفاده کنید:
RadioGroup radioGroup = (RadioGroup) findViewById(R.id.radioGroup);
radioGroup.clearCheck();
if (radioGroup.getCheckedRadioButtonId() == -1) {
txtcheck1.setText("انتخاب نشده");
}
سلام دوستان..
یه اتفاق غیرقابل تفصیر برای من افتاده!!
وقتی مقدار متن یک RadioButton رو با یک String در یک شرط برای چک کردن قرار میدم، در کمال ناباوری با اینکه مقادیر یکسان هستن شرط عمل نمیکنه!!!! تست کردم، حتی با وجود برابری طول رشته بازم کار نمیکنه!!
بنظرتون علت کجاست؟
Selected = (RadioButton) findViewById(selectedId);
String Am = Ans_Selected.getText().toString();
Log.i("LOG", "Am: " + Am + " " + Selected.getText().toString().length());
String Pm = Data.toString();
Log.i("LOG", "Pm: " + Pm + " " + Selected.getText().toString().length());
Tv_Ans.setText("" + Selected.getText());
TestCode.setText("" + Data_t_ans);
if (Am == Pm) {
Toast.makeText(Activity.this, "True", Toast.LENGTH_SHORT).show();
}
مشکل حل شد :-)
if (Data.equals(Selected.getText())) {
Toast.makeText(Activity.this, "True", Toast.LENGTH_SHORT).show();
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .