[ERLEDIGT] GIF in WebView mehrmals abspielen

FalkeNr1

FalkeNr1

Neues Mitglied
3
Hi,
mein Ziel ist es ein GIF (Ein Durchgang, also keine Endlosschleife) in einem WebView immer dann abzuspielen, wenn der Nutzer auf das WebView klickt.
Das Ganze beginnt mit einem PNG, welches im WebView geladen wird. Beim ersten Klicken auf das WebView wird dann auch das GIF abgespielt. Ab dem zweiten Klicken tut sich jedoch nichts mehr.

Code:
Code:
final WebView webView = (WebView)findViewById(R.id.webViewTab1);
        webView.setBackgroundColor(Color.TRANSPARENT);
        webView.loadDataWithBaseURL("file:///android_res/drawable/", "<img align='middle' src='pic.png' width='100%' />", "text/html", "utf-8", null);
        webView.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                if(event.getAction() == MotionEvent.ACTION_DOWN) {
                    webView.loadDataWithBaseURL("file:///android_res/drawable/", "<img align='middle' src='animation.gif' width='100%' />", "text/html", "utf-8", null);
                }
                return false;
            }
        });

Hat jemand ne Ahnung was der Fehler ist? Oder kann mir eine Alternative nennen?

Vielen Dank schon mal!

MfG
FalkeNr1
 
Hallo Falke,
der WebView hat bereits die Daten im Cache.

Versuche es mal mit .reload();

Wenn das nicht geht , dann musst du dir einen WebViewClient bauen und dort den reload forcieren
(z.b.mit Javascript)
 
  • Danke
Reaktionen: FalkeNr1
Viiielen Dank!
Mit clearCache() und reload() funktioniert es!

Code:
final WebView webView = (WebView)findViewById(R.id.webViewTab1);
        webView.setBackgroundColor(Color.TRANSPARENT);
        webView.loadDataWithBaseURL("file:///android_res/drawable/", "<img align='middle' src='pic.png' width='100%' />", "text/html", "utf-8", null);
        webView.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                if(event.getAction() == MotionEvent.ACTION_DOWN) {
                    webView.clearCache(true);
                    webView.reload();
                    webView.loadDataWithBaseURL("file:///android_res/drawable/", "<img align='middle' src='animation.gif' width='100%' />", "text/html", "utf-8", null);
                }
                return false;
            }
        });
 
  • Danke
Reaktionen: swa00

Ähnliche Themen

K
Antworten
3
Aufrufe
1.164
Kapikalaani
K
D
Antworten
23
Aufrufe
2.514
Data2006
D
H
Antworten
0
Aufrufe
929
HoustonWeHaveAProblem
H
Zurück
Oben Unten