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

标签 android radio-button visibility

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

默认情况下,RadioButton 1 被选中,我在屏幕上显示一个 DatePicker 组件,但是当用户选择 RadioButton2 时 DatePicker 应该从屏幕上消失。

我该如何处理这种情况?我应该更改布局/Java 代码吗?

最佳答案

其实很简单。

获取您的 RadioGroupDatePicker 的引用。为 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/

相关文章:

android - 带有 CursorLoader 的自动完成 TextView

android - 如何添加按钮以调用特定号码

JQuery 和 RadioButtons 问题

objective-c - 如何制作真正的私有(private)实例变量?

java - Java不兼容类型中的一行烘烤错误

android - Dagger 2构造函数注入(inject)在调用模块之前没有发生

javascript - 如何使用单选按钮和开关盒通过 JavaScript 更改 img?

css - 使用 css 自定义单选按钮

java - 将所选项目滚动到 JList 顶部

android - 将 RecyclerView 可见性从 Gone 更改为 Visible,在显示新添加的项目之前暂时错误地显示先前删除的项目