radiobutton没有显示正确的检查ID

时间:2013-08-03 06:25:09

标签: java android radio-button radio-group ischecked

我必须检查一个单一的radiobutton并看看如果通过吐司点击ab1的timeone的值...,我怎么能看到它...我使用的是“rab”+ radiobutton.ischecked()方法的数量。没关系还是应该使用其他任何方法?

public class Alarmsettings extends Activity {
RadioButton rab1,rab2,rab3,rab0;
RadioGroup rg;
Button ab1,ab2;
public  Integer timeone;
public Alarmsettings()
{

}

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.second_layout);
   rab0=(RadioButton) findViewById(R.id.radio0);
    rab1=(RadioButton) findViewById(R.id.radio1);
    rab2=(RadioButton) findViewById(R.id.radio2);
    rab3=(RadioButton) findViewById(R.id.radio3);
        ab1=(Button) findViewById(R.id.button1);
        ab2=(Button) findViewById(R.id.button2);
        rg = (RadioGroup) findViewById(R.id.radioGroup1);

        if(rab0.isChecked())
            timeone=15;
else    if(rab1.isChecked())
timeone=30;


else    if(rab2.isSelected())
            timeone=45;
else    if(rab3.isChecked())
            timeone=60;


        ab1.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub


            Toast.makeText(getApplicationContext(),timeone.toString(), Toast.LENGTH_SHORT).show();

1 个答案:

答案 0 :(得分:0)

尝试通过标志分配值而不是直接分配

        if(rab0.isChecked())
        flag=1;
        else if(rab1.isChecked())
        flag=2;
        else if(rab2.isSelected())
        flag=3;
        else if(rab3.isChecked())
        flag=4;
        ab1.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
        if(flag == 1)
        timeone=15;
        else if(flag == 2)
        timeone=30;
        else if(flag == 3)
        timeone=45;
        else if(flag == 4)
        timeone=60;


        Toast.makeText(getApplicationContext(),timeone.toString(), Toast.LENGTH_SHORT).show();

希望这有帮助。