我创建了一个布局 xml 文件,其中有两个 RadioButton
。
默认情况下,RadioButton
1 被选中,我在屏幕上显示一个 DatePicker
组件,但是当用户选择 RadioButton
2 时 DatePicker
应该从屏幕上消失。
我该如何处理这种情况?我应该更改布局/Java 代码吗?
最佳答案
其实很简单。
获取您的 RadioGroup
和 DatePicker
的引用。为 RadioGroup
实现一个 OnCheckedChangeListener
并检查其中检查了哪个 RadioButton
。
如果选中 RadioButton
A,则将 DatePicker
的可见性设置为可见,如果选中 RadioButton
B,则将可见性设置为 消失
或不可见
,具体取决于您的要求。
举个例子。
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;
}
}
});
}
}
理论上应该是这样的。
关于android - 选择某个RadioButton时如何使UI组件消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4850238/