3

AndroidのGoogleMapにカスタムInfoWindowsAdapterを使用しています。私の問題は、そのカスタム情報ウィンドウにonLongClickListenerをアタッチできないことです。GoogleMapクラスにはOnClickListenerしかありませんが、APIにOnLongClickListenerがありません。

カスタムビューにOnLongClickListenerをアタッチしようとしましたが、このリスナーが呼び出されません。

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 に答える