بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

استفاده از RadioButton

مدیریت گفتگو
mostafa1365 12 سال پیش
آخرین تغییر: 12 سال پیش

RadioButton اگر انتخاب شده باشه میگوییم

if (RadioButton .isChecked())

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

نگید else متدش رو میخوام 

شرمنده اون سئوال شمارش معکوس هم ادیت کردم  لطفا پاسخ بدید

نظرات

پاسخ‌ها 6

javac 12 سال پیش


از این علامت برای منفی کردن عبارت استفاده میشه "!" (نقیض ، not)

در واقع الان گفته میشه : "اگر چک نخورده بود!" دستور رو اجرا کن.

if (!(RadioButton .isChecked()))

نظرات

mostafa1365 12 سال پیش

دوست من این کد کار نکرد یعنی وقتی این چهار تا چک نخورده بود این متن رو چاپ نکرد

 

                 } 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 هم استفاده کردم ولی اون متن رو چاپ نمیکنه

 

نظرات

Hajhosseini 12 سال پیش
میتونی یک متغیر INTEGER ست کنی و هرکدوم که Checked میشه اون متغیر رو اضافه کنی و اگر از Checked در اومد متغیر کم بشه و تو If بگی که اگر متغیرت 0 بود یعنی هیچ کدوم انتخاب نشده بود یک متد اجرا بشه ولی اگر بیشتر از 0 بود یک متد دیگه
مجتبی یگانه 12 سال پیش

توجه کنید ، دکمه های رادیو برای انتخاب یک گزینه از بین چند گزینه است ، اگه امکان اتخاب همزمان دارید ، چک باکس گزینه ی مناسب تریه !

برای مدیریت بهتر دکمه های رادیویی از RadioGroup استفاده کنید ، تا کاربر امکان تغییر گزینه انتخاب شده رو داشته باشه !

حالا وقته حل مشکله :

متد isChecked همون طور که دیدید ، مقدار چک خوردن رو نشون میده ، حالا اگه بخواین چک نخوردن برسی بشه ، کد پایین کفایت میکنه

if (radio.isChecked()==false)
{

}

ischeck وضعیت انتخابشه ، اگه کاربره انتخاب کرده باشه == true و اگر انتخاب نکرده باشه ==false هست ، البته چون مقدار برگشتی بولین ، یا صحیح یا غلط هست میشه مستقیم در شرط استفاده کرد

نظرات

ajn91 12 سال پیش

اینطور که من متوجه شدم شما میخواید که اگر هیچ یک از RadioButton ها انتخاب نشده بود یه کار خاصی انجام بده پس حتما در شروع برنامه  هیچ کدوم از RadioButton ها نباید انتخاب شده باشند که بهترین روش استفاده از RadioGroup هست و در شروع برنام از حالت انتخاب در بیاریدش میتونید از این کد استفاده کنید:

RadioGroup radioGroup = (RadioGroup) findViewById(R.id.radioGroup);
radioGroup.clearCheck();
if (radioGroup.getCheckedRadioButtonId() == -1) {
txtcheck1.setText("انتخاب نشده");
}

نظرات

iSheykhi 12 سال پیش

سلام دوستان..

یه اتفاق غیرقابل تفصیر برای من افتاده!!

وقتی مقدار متن یک 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();
                }
 

نظرات

مجتبی یگانه 12 سال پیش
فدای کمال ناباوریت ! ، میگم انگار داری برنامه سرور ساید می نویسی آ ! ، من بعضی وقتا تو جاوا میگم Var$ :)))))))))))))
iSheykhi 12 سال پیش
فدای فردای تو، یه جورایی سرور سایده اما بیشتر اعصاب سایده، طاقت سایده
iSheykhi 12 سال پیش

مشکل حل شد :-)

 if (Data.equals(Selected.getText())) {
                    Toast.makeText(Activity.this, "True", Toast.LENGTH_SHORT).show();
                }

نظرات


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