Problema BaseActivity y OnTouchListener

18 views
Skip to first unread message

neon2004

unread,
Mar 27, 2017, 7:12:10 AM3/27/17
to desarrolladores-android
Hola.

A ver si podeis ayudarme con este problemilla que tengo.

Tengo un BaseActivity que extiende de AppCompatActivity e implemento View.OnTouchListener. Esto me hace crear el método onTouch.

El resto de Activities que tengo extiende de esta BaseActivity por lo que entiendo, que si toco la pantalla en cualquier activity o cualquier fragment, al extender de BaseActivity, deberÍa lanzar el evento onTouch, y el problema es que no me lanza dicho evento. os dejo el código de las clase BaseActivity, por si veis que puedo estar haciendo mal.

public class BaseActivity extends AppCompatActivity implements View.OnTouchListener{


@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
// TOCAMOS LA PANTALLA

}else if (event.getAction() == MotionEvent.ACTION_UP){
// LEVANTADO DEDO DE LA PANTALLA

}
return false;
}
}

Estiven Restrepo

unread,
Mar 27, 2017, 9:17:58 AM3/27/17
to desarrollad...@googlegroups.com
Hola!!

A que view le estas aplicando ese listener?  si quieres aplicarlo a todos los layouts debes optener el view y aplicarle el listener que implementaste, en BaseActivity  suponiendo que estas usuando el setcontenView enviando el layoutresId puedes hacer algo así:

@Override
public void setContentView(@LayoutRes int layoutResID) {
super.setContentView(layoutResID);
View view = findViewById(android.R.id.content);
view.setOnTouchListener(this);
}
@Override
public boolean onTouch(View v, MotionEvent event) {
    Toast.makeText(this, "Ok funciona!!!", Toast.LENGTH_LONG).show();
return false;
}

Saludos,
Estiven Restrepo


--
Para participar es necesario que leas detenidamente las normas del grupo: https://goo.gl/xeTRQm
---
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a desarrolladores-android+unsub...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a desarrolladores-android@googlegroups.com.
Visita este grupo en https://groups.google.com/group/desarrolladores-android.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/desarrolladores-android/c64f3669-d26b-43e8-90e1-4f5b5ea980c7%40googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages