PDA

View Full Version : مشکل با radio button ها



AVR programmer
شنبه 03 مهر 1395, 14:54 عصر
دز برنامه زیر (که مربوط به کار با radio button هست ) با فشردن دکمه 1 رادیو باتن ها به حالت غیر انتخاب شده می رن ولی با فشردن دکمه 2 (که باید اسم هر رادیو باتن رو توی textview نمایش بده) هیچ اتفاقی نمی افته . لطفا به من بگین اشکال کارم کجاست ؟


package Radiobutton.com;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;




public class RadiobuttonActivity extends Activity {


Button button1;
Button button2;
TextView textView1;
RadioButton r1;
RadioButton r2;
RadioButton r3;


RadioGroup radioGroup1;




@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button1 = (Button) findViewById(R.id.button1);
button2 = (Button) findViewById(R.id.button2);
textView1 = (TextView) findViewById(R.id.textView1);
radioGroup1 = (RadioGroup) findViewById(R.id.radioGroup1);
r1 = (RadioButton) findViewById(R.id.r1);
r2 = (RadioButton) findViewById(R.id.r2);
r3 = (RadioButton) findViewById(R.id.r3);


button1.setOnClickListener(new OnClickListener() {


@Override
public void onClick(View arg0) {
radioGroup1.clearCheck();
textView1.setText("AllUnChecked");


}
});


button2.setOnClickListener(new OnClickListener() {


@Override
public void onClick(View arg0) {
int selectedid = radioGroup1.getCheckedRadioButtonId();
switch (selectedid) {
case 0:
textView1.setText("Red");
break;
case 1:
textView1.setText("Green");
break;
case 2:
textView1.setText("Black");
break;
}
}
});


}
}

suraty
سه شنبه 06 مهر 1395, 16:23 عصر
سلام،
به نظرم مقادیر بازگشتی تابع getCheckedRadioButtonId در واقع دقیقا مشخصه ی id مشخص شده برای Radio Button ها هستند نه ایندکس آنها.
یعنی پس از switch:


case RB1_ID:
// the first RadioButton is checked.
break;
//other checks for the other RadioButtons ids from the RadioGroup
case -1:
// no RadioButton is checked inthe Radiogroup
break;