0

我的主要活动有一组单选按钮。当它们中的每一个被单击时,它会启动一个不同的活动。所有活动都具有相同的 XML,但输入和功能不同。我的意思是广播组对所有活动都是通用的。例如:当第一个单选按钮被点击时,它会启动一个不同的活动并且单选框选择消失。我需要单击的单选按钮选择保持打开状态,直到单击组中的不同单选按钮,尽管它处于不同的活动中。我如何让这个工作?任何帮助将不胜感激!

public void onRadioButtonClicked(View view){
     boolean checked = ((RadioButton) view).isChecked();

    // Check which radio button was clicked
    switch(view.getId()) {
        case R.id.radio_199os:
            if (checked){

                Intent intent = new Intent(MainActivity.this, second.class);
                startActivity(intent);


            }

            break;
        case R.id.radio_399os:
            if (checked){
                Intent intent = new Intent(MainActivity.this, Third.class);
                startActivity(intent);
            }                 

            break;
        case R.id.radio_2000os:
            if (checked){
                Intent intent = new Intent(MainActivity.this, Fourth.class);
                startActivity(intent);
            }
                //
            break;
    }         

}
4

1 回答 1

1

您需要添加以下内容以进行选中检查

radio_2000os.setChecked(true);

取消选中其他人

radio_199os.setChecked(false);

你的代码是这样的

  public void onRadioButtonClicked(View view){
     boolean checked = ((RadioButton) view).isChecked();

    // Check which radio button was clicked
    switch(view.getId()) {
        case R.id.radio_199os:
            if (checked){

                Intent intent = new Intent(MainActivity.this, second.class);
                startActivity(intent);
                 radio_2000os.setChecked(false);
                 radio_399os.setChecked(false);
                 radio_199os.setChecked(true);


            }

            break;
        case R.id.radio_399os:
            if (checked){
                Intent intent = new Intent(MainActivity.this, Third.class);
                startActivity(intent);
                 radio_2000os.setChecked(false);
                 radio_399os.setChecked(true);
                 radio_199os.setChecked(false);
            }                 

            break;
        case R.id.radio_2000os:
            if (checked){
                Intent intent = new Intent(MainActivity.this, Fourth.class);
                startActivity(intent);
                 radio_2000os.setChecked(true);
                 radio_399os.setChecked(false);
                 radio_199os.setChecked(false);
            }
                //
            break;
    }         

}
于 2013-01-29T07:19:03.000 回答