Как заставить компоненты пользовательского интерфейса исчезать при выборе определенной кнопки RadioButton - PullRequest
3 голосов
/ 31 января 2011

Я создал XML-файл макета, в котором у меня есть два RadioButton s.

По умолчанию выбран RadioButton 1, и на экране отображается компонент DatePicker, но когда пользователь выбирает RadioButton 2, DatePicker должен исчезнуть с экрана.

Как я могу справиться со сценарием? Должен ли я внести изменения в макет / код Java?

1 Ответ

5 голосов
/ 31 января 2011

Это на самом деле очень просто.

Получите справку о вашем 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;
                }
            }
        });

    }
}

Теоретически это должно быть что-то подобное.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...