选择某个RadioButton时,如何使UI组件消失

时间:2011-01-31 11:17:01

标签: android radio-button visibility

我创建了一个布局xml文件,其中有两个RadioButton s。

默认情况下,RadioButton 1已被选中,我在屏幕上显示DatePicker组件,但当用户选择RadioButton 2时,DatePicker应从屏幕上消失

我该如何处理这个场景?我应该在布局/ Java代码中进行更改吗?

1 个答案:

答案 0 :(得分:5)

实际上很简单。

获取RadioGroupDatePicker的参考。为OnCheckedChangeListener实施RadioGroup并检查在那里检查了哪个RadioButton

如果选中了RadioButton A,请将DatePicker上的可见性设置为可见,如果选中RadioButton B,则将可见性设置为goneinvisible根据你的要求。

作为一个例子。

public class MyActivity extends Activity {

    private RadioGroup choice;
    private DatePicker datePicker;

    @Override
    public void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        setContentView(R.layout.your_layout);

        choice = (RadioGroup) findViewById(R.id.choice);
        datePicker = (DatePicker) findViewById(R.id.date_picker);

        choice.setOnCheckedChangeListener(
            new RadioGroup.OnCheckedChangeListener() {

            public void onCheckedChanged(RadioGroup group, int checkedId) {
                switch(checkedId) {
                    case R.id.radio_button_a:
                        datePicker.setVisibility(View.VISIBLE);
                        break;
                    case R.id.radio_button_b:
                        datePicker.setVisibility(View.GONE);                    
                        break;
                }
            }
        });

    }
}

理论上应该是这样的。