2016-05-06 13 views
9

Podczas gdy w ustawieniach programisty jest włączona opcja "Nie kontynuuj aktywności", ładuję URL do wyświetlenia strony internetowej pod numerem vWebView.getSettings().setBuiltInZoomControls(true);. W wyniku tego pojawia się problem.WebView ZoomButtonsController

WindowManager: android.view.WindowLeaked: Activity pl.izmajlowiczl.zoomcontrolls.MainActivity has leaked window android.widget.ZoomButtonsController$Container{21639342 V.E..... ......I. 0,0-432,73} that was originally added here (...) 

Po sprawdzeniu kodu ZoomButtonsController dowiem się, że problem jest księgowanie opóźnioną wiadomość na przewodnika, który ukrywa sterowania powiększeniem po pewnym czasie.

Jakieś pomysły, jak usunąć wiadomość z programu obsługi ZoomButtonsController, gdy mój widok zostanie zniszczony? (To jest po prostu prywatne)

Lub inne pomysły, jak go rozwiązać?

ZoomButtonsController class ma mHandler, który obsługuje opóźnione MSG_DISMISS_ZOOM_CONTROLS wiadomość

+1

proszę pisać kod dla tego ekranu –

Odpowiedz

0

Przyczyna: Po zakończeniu aktywności nazywa ale kontrole zoom są nadal widoczne.

Rozwiązanie 1: użycie pinch zoom

// make sure your pinch zoom is enabled 
webView.getSettings().setBuiltInZoomControls(true); 

// don't show the zoom controls 
webView.getSettings().setDisplayZoomControls(false); 

Soution 2: Dodaj to do swojej aktywności:

@Override 
    public void finish() { 
     ViewGroup view = (ViewGroup) getWindow().getDecorView(); 
     view.removeAllViews(); 
     super.finish(); 
    } 
+0

Rozwiązanie 2 nie działa jeśli Aktywność została zabita przez system. Rozwiązanie 1 wydaje się być jedynym obejściem na razie. – tynn