JavaScript und Window Title setzen

M

mario1988

Neues Mitglied
0
Ich hätte eine Frage bezüglich des JavaScriptInterfaces:
Ist es möglich über eine JS-Funktion in einem WebView den window Title des Activity zu ändern?

thx 4 help
m4ri0
 
Mh schau dir mal das Beispiel an.
Hier wird das Binding von Javascript Code an deine Android Activity anhand einem "Toast-Sample" erklärt. (Mitte der Seite)
Du müsstest nur das Toast Sample abwandeln bzw. den String in deinem Interface als Activity Title setzen.
 
Danke für die Antwort!

Ja, in der Form hab ich es probiert.
Allerdings bekomme ich eine UnsupportedOperationException, wenn ich versuche den Title zu setzen.
Code:
    private class MyJavaScriptInterface {
        
        private MyJavaScriptInterface() {
        }
        
        /* JavaScript-Methode, die auf der XHTML-Seite aufgerufen wird */
        public void setTitle(String text) {
            Atomic.this.setTitle(text);
        }
    }
Komme ich irgendwie von dem Context zum Title?
Weil offensichtlich funktioniert das mit dem Aufruf von setTitle hier in der Art und Weise nicht.

thx 4 help
 
Ah okay, dass ist das Problem :)
Mh probier einfach mal folgendes:
Code:
getWindow().setTitle(text);
 
Kommt leider die gleiche Exception...
 
Wobe ich eines nicht verstehe:
Das schließen des Activity funktioniert aus JS heraus:
Code:
/* JavaScript-Interface */
    private class MyJavaScriptInterface {
        Context mContext;
        
        private MyJavaScriptInterface(Context c) {
            this.mContext = c;
        }
        
        /* JavaScript-Methoden, die auf der XHTML-Seite aufgerufen werden */
        @SuppressWarnings("unused")
        public void setTitle(String text) {
            Activity a = (Activity)mContext;
            //a.setTitle(text);
            a.getWindow().setTitle(text);
        }
        
        @SuppressWarnings("unused")
        public void close() {
            Activity a = (Activity)mContext;
            a.finish();
        }
    }
 
Lösung:
Da nur der Thread, der "Die View-Hierarchie aufgebaut hat", diese auch verändern darf, braucht man in diesem Fall, um den Title des Activity von hier zu setzen, einen Handler, über diesen man eine Message von einem zum anderen Thread schicken kann.

m4ri0
 

Ähnliche Themen

A
Antworten
1
Aufrufe
637
swa00
swa00
M
  • MikelKatzengreis
Antworten
5
Aufrufe
136
swa00
swa00
H
Antworten
0
Aufrufe
934
HoustonWeHaveAProblem
H
Zurück
Oben Unten