Android GoogleMap 2 aktualisiert Informationen dynamisch in InfoWindow mit ImageView über den Universal Image Loader

Ich arbeite an einer neuen Google Map v2-API.

Ich habe ImageLoader verwendet, um Bilder dynamisch auf Marker anzuzeigen.

Aber das Problem ist, wenn ich onLoadingComplete () von Universal Image Loader habe, wird die ImageView weder automatisch noch manuell ungültig.

Wenn ich das nächste Mal auf denselben Marker klicke, wird das Bild aus dem Cache von Universal Image Loader angezeigt.

Unten ist meineCustomInfoWindowAdapter Code:

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("");
        }
    }
}

Ich speichere Marker-IDs in HashTable, wenn ich Marker hinzufüge. Und von ihnen bekomme ich die URL des Fotos.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage