0

誰かが以下のコードの何が悪いのかを助けることができますか(SOで尋ねられた同様の質問への回答に基づいて):

    public String javaMethod(String input) {
        return "it works";
}

    public native void defineBridgeMethod() /*-{ 
        var that = this;
        $wnd.jsFunction= $entry(function(msg) {
                 that.@com.myclass.ClassName::javaMethod(Ljava/lang/String;)(msg)
            });
    }-*/;

問題は、JavascriptがjsFunctionを見つけられないことです。Javascriptコードのalert(jsFunction)は「undefined」を返します。

ありがとう。

編集:ええと、1時間後:私がthat.@com...戻ってきただけでよいことがわかりました!

4

1 に答える 1

2

ええと、1時間後:私がthat.@com...戻ってきただけでよいことがわかりました!

ブリッジ方法は次のようになります。

public native void defineBridgeMethod() /*-{ 
    var that = this;
    $wnd.jsFunction= $entry(function(msg) {
             return that.@com.myclass.ClassName::javaMethod(Ljava/lang/String;)(msg)
        });
}-*/;
于 2012-03-15T23:40:03.510 に答える