Bonjour à toutes et à tous,

Dans une application GPS où j'affiche des cartes, je voudrais pouvoir intervenir au plus haut niveau pour intercepter les évènement de touché d'écran. J'ai vu qu'il existait un gestionnaire d'évènement s'appelant "onInterceptTouchEvent". Je n'arrive pas à le mettre en œuvre. Apparemment ce gestionnaire fonctionne avec les ViewGroup ... que je n'ai pas dans mon application.

Pourtant, dans mon application je gère bien les évènement de touché par un gestionnaire tel que le montre le code suivant ;

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public class MainActivity extends Activity implements SensorEventListener, LocationListener {
  ...
  RelativeLayout affCarte;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ...
    affCarte = (RelativeLayout)findViewById(R.id.AffCarte);
    monImg = new Dessin(this);
    affCarte.addView(monImg);
    ...
    affCarte.setOnTouchListener(new View.OnTouchListener() { // Déplacement de la carte par touché de l'écran
    @Override
      public boolean onTouch(View v, MotionEvent event) {
        int action = event.getAction();
        if (action == MotionEvent.ACTION_DOWN) {
          xd = event.getX();
          yd = event.getY();
        }
        if (action == MotionEvent.ACTION_MOVE) {
          deplaceAff(event.getX(), event.getY());
			  	}
        if (action == MotionEvent.ACTION_UP) {
          ...
        }
      }
      return false;
    }
  });	
}
Comment introduire dans ce code le gestionnaire onInterceptTouchEvent ?

Merci de votre aide.

Pierre