我创建了一个布局xml文件,其中有两个RadioButton
s。
默认情况下,RadioButton
1已被选中,我在屏幕上显示DatePicker
组件,但当用户选择RadioButton
2时,DatePicker
应从屏幕上消失
我该如何处理这个场景?我应该在布局/ Java代码中进行更改吗?
答案 0 :(得分:5)
实际上很简单。
获取RadioGroup
和DatePicker
的参考。为OnCheckedChangeListener
实施RadioGroup
并检查在那里检查了哪个RadioButton
。
如果选中了RadioButton
A,请将DatePicker
上的可见性设置为可见,如果选中RadioButton
B,则将可见性设置为gone
或invisible
根据你的要求。
作为一个例子。
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;
}
}
});
}
}
理论上应该是这样的。