3

我在 Android 上为 GoogleMap 使用自定义 InfoWindowsAdapter。我的问题是,我无法在该自定义信息窗口上附加 onLongClickListener。GoogleMap 类只有 OnClickListener,但 API 中缺少 OnLongClickListener。

我试图在我的自定义视图上附加 OnLongClickListener,但是没有调用这个 Listener。

private class EventInfoWindowAdapter implements InfoWindowAdapter {    
    public View getInfoWindow(Marker marker) {

            //mWindow is clicable (I do set it in layout XML)
        mWindow = getLayoutInflater().inflate(R.layout.event_info_window, null);

        mWindow.setOnLongClickListener(new LinearLayout.OnLongClickListener() {

            @Override
            public boolean onLongClick(View view) { //THIS ONE IS NOT CALLED

                Log.d("LONG", "CLICKED");

                contextMode = startActionMode(actionModeCallback);

                return true;
            }
        });

        return mWindow;
    }
}

//in onCreate(...) method

mMap = ((MapView) findViewById(R.id.map)).getMap();
mMap.setInfoWindowAdapter(new EventInfoWindowAdapter());

任何建议如何使它工作?

4

1 回答 1

3

侦听器将无法工作,因为您显示为 InfoWindow 覆盖的内容不是视图 - 它是视图的快照,对于大多数方式和目的来说几乎是一张图片。我有类似的麻烦,所以这些答案可能会帮助你:

将按钮添加到可以注册点击的自定义 InfoWindowAdapter 视图

于 2012-12-06T17:19:35.670 回答