SetVisibility no funciona?

Soy nuevo en desarrollar con android. Tengo una rejilla contenida en un LinearLayout y cada artículo que compone la rejilla es un botón. Quiero que este LinearLayout sea ​​invisible cuando el usuario empuja cualquiera de estos botones.

Este es mi shell de diseño "casero":

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"> <TextView/> <LinearLayout> //<-- this is the layout I want to hide <TextView/> <GridView/> </LinearLayout> </LinearLayout> 

Y este es el método onClick que he configurado en MyArrayAdapter (utilizado para inflar los botones)

 @Override public void onClick(View v) { View convertView = activity.getLayoutInflater().inflate(R.layout.layout_home, null); LinearLayout ll_options = (LinearLayout) convertView.findViewById(R.id.ll_options); ll_options.setVisibility(View.INVISIBLE); } 

Creo que debería funcionar, pero cuando lo pruebo, no pasa nada.

He encontrado una pregunta similar, pero no resuelve mi problema.

¿Por qué inflas un diseño aquí ?:

 View convertView = activity.getLayoutInflater().inflate(R.layout.layout_home, null); 

Solo haz:

 View v = activity.findViewById(R.id.ll_options); v.setVisibility(View.INVISIBLE); 

Crea una vista nueva que no está en la jerarquía de vista visible hasta que la agregue allí y, a continuación, ocultarla. Así que escondes algo invisible.

En su lugar, pruebe:

 @Override public void onClick(View v) { findViewById(R.id.ll_options).setVisibility(View.INVISIBLE); } 

Que debería funcionar la OMI. Busca la vista ll_options dentro de la jerarquía de vista visible (global) de tu actividad y la oculta.

EDITAR:

¿Dónde está tu botón? ¿Está en el mismo archivo de disposición? Inflar un nuevo diseño y ocultar el LinearLayout allí, pero este nuevo diseño nunca se utiliza. Asegúrese de tener acceso al contenidoVista en su escucha.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.