Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在webview的java代码中使用javascript值?_Javascript_Java_Android_Android Studio_Webview - Fatal编程技术网

如何在webview的java代码中使用javascript值?

如何在webview的java代码中使用javascript值?,javascript,java,android,android-studio,webview,Javascript,Java,Android,Android Studio,Webview,我想使用在js中声明为setText methode中java代码的elem变量如果您想从加载到webview的javascript代码中获取值,我将公开一个带有@JavascriptInterface注释的方法,该注释将从javascript中收集该值 下面是如何做到这一点的示例: 本地的 JAVASCRIPT if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {

我想使用在js中声明为setText methode中java代码的elem变量

如果您想从加载到webview的javascript代码中获取值,我将公开一个带有@JavascriptInterface注释的方法,该注释将从javascript中收集该值

下面是如何做到这一点的示例:

本地的

JAVASCRIPT

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {

        webView.evaluateJavascript("alert('hi'); var elem = 
        document.querySelector('.price__container__discount__sales_price').firstChild.innerHTML;" 
        ,null);

        btn.setText(elem);
}
//Make sure to enable these settings
  webviewSettings.setJavaScriptEnabled(true);
  addJavascriptInterface(YOUR_INTERFACE_CLASS, YOUR_INTERFACE_NAME);

 @JavascriptInterface
    public void getSalesPrice(String value) {
        //Here you will get the value from your javascript
    }
function sendDataToNative(data) {
        YOUR_INTERFACE_NAME.getSalesPrice(data);
    }