2011-06-04 54 views

Respuesta

10

Crearía un ViewGroup con todas las vistas que quiere habilitar/deshabilitar al mismo tiempo y llame al setClickable(true/false) para habilitar/deshabilitar el hacer clic.

+1

Y por ViewGroup me refiero a una de las subclases. Marque esta [link] (http://developer.android.com/reference/android/view/ViewGroup.html) – khellang

2

Hacer un booleano clickEnabled en su actividad y comprobar que en el clic oyentes; si es falso, no hagas nada.

-2

Implementaré la interfaz onClickListener en su clase de actividad y devolveré falso en el método onClick. Siento que es la forma más fácil de resolver su problema.

+9

tipo de cambio de onClick es nula – amiekuser

28

Puede pasar View para desactivar todos los eventos niño clic.

public static void enableDisableView(View view, boolean enabled) { 
     view.setEnabled(enabled); 
     if (view instanceof ViewGroup) { 
      ViewGroup group = (ViewGroup)view; 

      for (int idx = 0 ; idx < group.getChildCount() ; idx++) { 
       enableDisableView(group.getChildAt(idx), enabled); 
      } 
     } 
    } 
+0

@FARID pasar enableDisableView (linView, false); debería funcionar –

+0

Funcionó como un amuleto. Probado en https://github.com/roughike/BottomBar desactivar pestañas –

+0

@ Mr.Robot Disfruta compinche de codificación feliz. :) –

17

En lugar de iteración a través de todas las niños ven, puede agregar esta función a la vista Diseño de padres

@Override 
public boolean onInterceptTouchEvent(MotionEvent ev) { 
    return true; 
} 

Esto se llama antes de la onTouchEvent para cualquier punto de vista del niño, y si devuelve true , el onTouchEvent para vistas secundarias no se llamará en absoluto. Puede crear un miembro de campo booleano para activar y desactivar este estado si lo desea.

+0

perfección respuesta! ¡Gracias! – Georg

3

es necesario llamar a setEnabled(boolean value) método en la vista.

view.setClickable(false); 
view.setEnabled(false); 
+4

No funciona para mí, los niños todavía tienen acciones – jose920405

Cuestiones relacionadas