Android GoogleMap 2 dynamicznie aktualizuj informacje w InfoWindow za pomocą ImageView poprzez Universal Image loader

Pracuję nad nowym API Map Google v2.

Użyłem ImageLoadera do dynamicznego wyświetlania obrazów na Markerze.

Ale problem jest, gdy mam onLoadingComplete () Universal Image Loader, ImageView nie jest unieważniany ani automatycznie, ani ręcznie.

Następnym razem, gdy kliknę ten sam znacznik, obraz zostanie wyświetlony z pamięci podręcznej Universal Image Loader.

Poniżej jest mojaCustomInfoWindowAdapter kod :

private class CustomInfoWindowAdapter implements InfoWindowAdapter {

    @Override
    public View getInfoContents(Marker marker) {
        return null;
    }

    @Override
    public View getInfoWindow(Marker marker) {
        final View mWindow = getLayoutInflater().inflate(R.layout.custom_info_window, null);

        render(marker, mWindow);
        return mWindow;
    }

    private void render(final Marker marker, View view) {

        final String url = markers.get(marker.getId()).getStrProfilePic();
        final ImageView image = ((ImageView) view.findViewById(R.id.badge));
        Log.e(TAG, "URL : " + url);

        if ( url != null && !url.equalsIgnoreCase("null")
                && !url.equalsIgnoreCase("")) {
            imageLoader.displayImage(url, image, options, new SimpleImageLoadingListener() {
                @Override
                public void onLoadingComplete(String imageUri, View view,
                        Bitmap loadedImage) {
                    super.onLoadingComplete(imageUri, view, loadedImage);
                    ((ImageView) view).invalidate();
                }
            });
        } else {
            image.setImageResource(R.drawable.noimage);
        }

        final String title = marker.getTitle();
        final TextView titleUi = ((TextView) view.findViewById(R.id.title));
        if (title != null) {
            titleUi.setText(title);
        } else {
            titleUi.setText("");
        }

        final String snippet = marker.getSnippet();
        final TextView snippetUi = ((TextView) view.findViewById(R.id.snippet));
        if (snippet != null) {
            snippetUi.setText(snippet);
        } else {
            snippetUi.setText("");
        }
    }
}

Przechowuję znaczniki Marker w HashTable, kiedy dodaję Marker. I z ich otrzymam adres URL zdjęcia.

questionAnswers(2)

yourAnswerToTheQuestion