0

如果通过 toast 点击 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();
4

1 回答 1

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();

希望这可以帮助。

于 2013-08-03T07:06:10.763 回答