使用WebView评估脚本Xamarin

时间:2018-03-06 23:18:36

标签: android xamarin xamarin.android

我在Android WebView中加载了一个html页面。

我正在尝试使用MotionEvenAction.Down事件执行java脚本函数。

以下是无效的代码

 webView.Touch += (s, e) =>
        {
            if (e.Event.Action == MotionEventActions.Down)
            {
                webView.EvaluateJavascript(((string.Format("poweSelected({0})", 3), new JavascriptResult() ));

            }

        };


 public class JavascriptResult : Java.Lang.Object, Android.Webkit.IValueCallback
{
    public string Result;
    public void OnReceiveValue(Java.Lang.Object result)
    {
        string json = ((Java.Lang.String)result).ToString();
        Result = json;

    }
}

我收到错误消息 - (EvaluateJavascript下面有红线)

没有任何论据符合所需的形式参数' resultCallback' ' WebView.EvaluateJavascript(string,IValueCallback)'

据我所知,我正在正确实现ivaluecallback接口,并且我找到的示例完全类似于那些似乎正在工作的示例。

任何帮助将不胜感激 标记

1 个答案:

答案 0 :(得分:2)

就像@Sushi提到的那样:

替换它:

 webView.EvaluateJavascript(((string.Format("poweSelected({0})", 3), new JavascriptResult() ));

使用:

webView.EvaluateJavascript(string.Format("poweSelected({0})", 3), new JavascriptResult());