2012-07-12 19 views
6

que llamo esta función en mi actividad intervenido.dispatchTouchEvent androide Obtener vista

PROBLEMA: Me preguntaba cómo podría saber qué componente (Vista) se ha tocado en esta función, entonces podría elegir si quiero consumar el evento o no.

SOLUCIÓN FEO: Actualmente estoy teniendo una solución fea que es: Sé que la posición del componente que se le permite obtener el evento, y hago un montón de condiciones a aproximadamente decidir si el usuario hace clic en este componente.

Gracias.

Respuesta

0

Es posible que desee utilizar el view.getid OnTouchListener

private OnTouchListener mOnTouchListener= new OnTouchListener() { 

    public boolean onTouch(View v, MotionEvent event) { 

      switch(v.getId()){ 

       case R.id.id1): 
       // Do stuff 
       break; 

       case R.id.id2: 
       // Do stuff 
       break; 
       }  

     return false/true; 
    } 
}; 
+0

sería una buena solución. Desafortunadamente, por alguna razón (código incorrecto, mala estructura, ...), cuando puse esta función en el elemento raíz y configuré su descendantFocusability en el descendiente anterior, simplemente no entra en esta función. En resumen, no puedo hacer que funcione, pero no enviaré spam con mi línea de código 3000. Solo estaba buscando otra solución. –

0

== R.id .// id en el diseño // condición puede ser controlada por la vista requerida se hace clic en