Сделать макет неактивным в Android - PullRequest
1 голос
/ 15 мая 2011

У меня есть RelativeLayout, и в этом RelativeLayout есть 4 Button с.Вне этого RelativeLayout есть CheckBox. Все View находится в RelativeLayout.

Я хочу сделать 4 Button s неактивными (которые присутствуют в RelativeLayout), выбрав CheckBox, и я хочу, чтобы все кнопки были активными, когда я снова выберу CheckBox.ну и что делать?

Я тоже пробовал relativeLayout.setClickable(false); но он не работает.

Ответы [ 2 ]

1 голос
/ 16 мая 2011
    final int[] BUTTON_IDS = { R.id.button1, R.id.button2, };

    checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(CompoundButton buttonView,
                boolean isChecked) {
            for (int btnId = 0; btnId < BUTTON_IDS.length; btnId++) {
                Button btn = (Button) findViewById(btnId);
                btn.setEnabled(isChecked);
            }
        }
    });
0 голосов
/ 15 мая 2011

UTDATE

Попробуйте это:

<yourRelativeLayout>.setEnabled(false);

или вы можете изменить состояние всех ваших кнопок на отключенные.

...