آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

Radio Buttons

behnam2000  11 سال پیش  11 سال پیش
0 0

سلام دوستان: فرض کنید دو تا اکتیویتی داریم که در اولی یک رادیو گروپ داریم که درونش دوتا Radio Button قرار داده ایم حال می خواهیم بسته به کلیک شدن برروی یکی ازRadio Buttons ها که مقدار متغیر g1 تغیر می کند.مقدار  g1 در اکتیویتی دوم نمایش داده شود.

بنده متغیر g1 رو به اکتیویتی دوم بعد از اجرای کدهای زیر انتقال می دهم اما تغییری اتفاق نمی افتد.

 RadioButton rb1 = (RadioButton) findViewById(R.id.rb1);
 RadioButton rb2 = (RadioButton) findViewById(R.id.rb2);

        if (rb1.isChecked())
            g1 = 1;
        if (rb2.isChecked())
            g1 = 2;
0 0
کسی نبود گرهی از کار ما باز کنه؟؟!! (11 سال پیش)
 برای این سوال 4 پاسخ وجود دارد.
پاسخ به سوال 
Hajhosseini  11 سال پیش
0 0

یک متغیر Flag تعریف کنید، زمانی که در اکتیویتی اول یکی از RadioButton ها کلیک میشه Flag رو به مقدار دلخواه تغییر بدید و ارسال کنید، در اکتیویتی دوم در onCreate مقدار Flag رو دریافت کنید، اگر نیازی هست که بدونید کدوم انتخاب شده بوده، با یک Switch Case مقدار انتخابی رو بدست بیارید.

0 0
میشه زحمت بکشید با یه کد ساده این مطلبی که گفتید رو نشون بدید؟ (11 سال پیش)
پاسخ به سوال 
Hajhosseini  11 سال پیش
0 0

 int flag;
rb1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if{isisChecked){ flag = 1;
} } });
rb2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if{isisChecked){ flag = 2;
} } });

و برای ارسال کد زیر رو بنویسید.

Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
        intent.putExtra("FLAG",flag);
        FirstActivity.this.startActivity(intent);

حالا در اکتیویتی دوم مقدار Flag رو در onCreate بگیرید.

int flag;
  try { Bundle extras = getIntent().getExtras(); if (extras != null) { flag = extras.getInt("FLAG"); } } catch (Exception e) {}

اینجا اگر میخواید متغیرتون رو مقایسه کنید میتونید یک if یا یک switch تعریف کنید که بفهمید چه چیزی انتخاب شده

پاسخ به سوال 
behnam2000  11 سال پیش
0 0

دوست عزیز ممنون ولی مشکل من حل نشد.

در اکتیویتی تنظیمات چند تا رادیو باتن تعریف کردم  که می خوام با این ها کاربر بتونه سایز متن رو تغییر بده:

RadioButton rb1 = (RadioButton) findViewById(R.id.rb1);
RadioButton rb2 = (RadioButton) findViewById(R.id.rb2);
rb1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked) { g1 = 1; intent.putExtra("g1", g1);
} } });
 rb2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if (isChecked) {
                    g1 = 2;
                    intent.putExtra("g1", g1);
} } });

در اکتیویتی دوم هم که دو تا تکست ویوو  دارم می خوام برحسب g1  که از  اکتیویتی اول به این اکتیویتی فرستاده می شود سایز متن رو تغییر بدم اما هیچ تغییری اتفاق نمی افتد:

 Bundle extras1 = getIntent().getExtras();
        if (extras1 != null) {
            g2 = extras1.getInt("g1");
}
switch (g2) { case 1: { txtshow1.setTextSize(11); txtshow2.setTextSize(10); break; } case 2: { txtshow1.setTextSize(15); txtshow2.setTextSize(14); break; }
}
0 0
میشه بگید مشکل کار من کجاست؟ (11 سال پیش)
0 0
برای ست کردن سایز از این کد استفاده کنید، اگر درست نشد اعلام کنید textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize); (11 سال پیش)
0 0
نه متاسفانه حل نشد!!! (11 سال پیش)
پاسخ به سوال 
Hajhosseini  11 سال پیش
0 0

برای ست کردن سایز تکست از:

 textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize);

استفاده کنید و سایز هاتون رو در dimen قرار بدید و از همونجا سایز رو به صورت زیر بخونید

 int size = (int) (currentActivity.getResources().getDimension(R.dimen.small_size));

در صورتی که با dimen ها کار نکردید هم توی فولدر res در فولدر values فایل dimen.xml رو باز کنید و سایز ها رو به صورت زیر تعریف کنید:

  <dimen name="small_size">12sp</dimen>

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