Как отключить весь контент внутри линейного макета в Android? - PullRequest
6 голосов
/ 31 января 2012

Привет. Я хочу отключить все содержимое линейного макета, когда загружается активность, когда пользователь нажимает на нее, отображается сообщение с сообщением.

После нажатия кнопки активации, линейный макет должен быть включен.Возможно это или нет?

Я могу отключить все содержимое внутри линейного макета, используя следующий код:

LinearLayout myLayout = (LinearLayout) findViewById(R.id.linearLayout1);
for ( int i = 0; i < myLayout.getCount();  i++ ){
    View view = myLayout.getChildAt(i);
    view.setVisibility(View.GONE); // Or whatever you want to do with the view.
 }

Я хочу отобразить диалоговое окно с предупреждением, когда пользователь нажимает на отключенную область.

, пожалуйста, предложите мне полезную ссылку или образец кода.

Ответы [ 3 ]

13 голосов
/ 31 января 2012

Вам нужно сделать следующее:

LinearLayout myLayout = (LinearLayout) findViewById(R.id.linearLayout1);
for ( int i = 0; i < myLayout.getChildCount();  i++ ){
    View view = myLayout.getChildAt(i);
    view.setEnabled(false); // Or whatever you want to do with the view.
 }

Затем создайте диалог оповещения, а затем

myLayout.setOnclickListener(new OnClickListener(){

   onClick(){
     dialog.show();
   }
});
0 голосов
/ 09 октября 2014

Просто сделайте это, будет работать вместо того, чтобы получать все виды и отключать их

myLayout.setEnabled(false); 
0 голосов
/ 31 января 2012

Вы можете позвонить напрямую, как показано ниже, не нужно устанавливать для каждого просмотра внутри него.

myLayout.setVisibility(View.INVISIBLE); // or View.GONE as you needed
...