1

J'ai passé un nombre ridicule d'heures à essayer d'obtenir un fragment de mapview réactif qui fonctionne dans mon viewpager, et maintenant qu'il fonctionne enfin je ne sais pas trop pourquoi! J'utilise ActionBarSherlock pour ma barre d'action, j'utilise un viewpager pour basculer entre trois fragments: une liste, une imageview + textview et une mapview. J'ai un viewpagerindicator pour aller avec mon viewpager. J'utilise la version de cartes de l'android-support-v4.Mapview Fragment + ViewPager, provoquant des interactions étranges

Ce qui a: - Remplacer la méthode onInterceptTouchEvent du viewpager à return false - Définir un onClickListener sur la MapView qui ne fait rien.

La mapview apparaîtrait, mais ne répondrait pas avant d'avoir ajouté l'écouteur, mais pourquoi l'ajout d'un onclicklistener a-t-il rendu TOUS les gestes sensibles?

Répondre

2

Peut-être que vous devriez recommencer. Dans mon cas, tout ce que j'avais à faire était de placer MapFragment dans ViewPager avec FragmentPageAdapter. a ensuite créé ma propre ViewPager avec la méthode surchargée juste pour MapFragment utilisable:

@Override 
public boolean onInterceptTouchEvent(MotionEvent event) { 
    // hacky hack to never intercept map pages events unless its on the 
    // very edge of screen - last or first fifth of the view size 
    if (((FragmentPagerAdapter) getAdapter()).getItem(getCurrentItem()) instanceof SupportMapFragment) { 
     if (event.getAction() == MotionEvent.ACTION_DOWN && event.getX() < (getWidth() - (getWidth()/5)) && event.getX() > (getWidth()/5)) { 
      // Never allow swiping to switch if not right on the edge 
      return false; 
     } 
    } 
    return super.onInterceptTouchEvent(event); 
} 
+0

Qu'est-ce est un 'Fragment' normale avec un' MapView' intérieur? – surfer190

Questions connexes