单击overlayitem时如何在父级上丢失联系事件?

rggaifut  于 2021-07-03  发布在  Java
关注(0)|答案(0)|浏览(251)

我有一个osmMap视图,在那里我可以设置一些标记以固定位置。这些标记有一个 OnItemGestureListeneronItemSingleTapUp 打开包含一些信息的对话框。这个 MapView 有一个 OnTouchListener 使其全屏显示并隐藏一些gui。
一切正常,问题是 OverlayItem 单击
MapView TouchListener 也会触发,这是不应该发生的。总有一种方法会让你失去对这个世界的接触 MapView 何时单击标记?尝试了很多方法,但都没有成功。始终首先调用mapview touch侦听器。
添加标记方法和手势侦听器:

public void addMarker(double latitude, double longitude, Drawable icon, final int posicao, boolean isLocalizacaoUsuario) {
    GeoPoint center = new GeoPoint(latitude, longitude);
    OverlayItem overlayItem = new OverlayItem("", "", center);
    if (posicao >= 0)
        icon = criaMarcadorMapa(posicao, icon);

    overlayItem.setMarker(icon);
    ArrayList<OverlayItem> overlayItemArrayList = new ArrayList<>();
    overlayItemArrayList.add(overlayItem);
    final ItemizedOverlay<OverlayItem> locationOverlay = new ItemizedIconOverlay<>(overlayItemArrayList,
            new ItemizedIconOverlay.OnItemGestureListener<OverlayItem>() {

mapview touchlistener:

osm.isClickable();
    osm.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View view, MotionEvent motionEvent) {
            switch (motionEvent.getAction()) {
                case MotionEvent.ACTION_DOWN:
                    tempoTouchDown = System.currentTimeMillis();
                    break;
                case MotionEvent.ACTION_UP:
                    tempoTouchTotal = System.currentTimeMillis() - tempoTouchDown;
                    controladorInterface(tempoTouchTotal);
                    break;
            }
            return false;
        }
    });

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题