0

ab1 が toast でクリックされた場合は、1 つのラジオボタンを同時にチェックし、timeone の値を確認する必要があります。大丈夫ですか、それとも他の方法を使用する必要がありますか?

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 に答える