[英]Java get variable from another class in Android JavascriptInterface
I have two class and I want to get 'JSI.var' in MainActivity. 我有两个课程,我想在MainActivity中获取“ JSI.var”。 Firstly i getting "" empty value when i button clicked.
首先,当我单击按钮时,我得到“”空值。 So, no log.
因此,没有日志。 Secondly i getting document.getElementsByName('name')[4].src) value.
其次,我得到document.getElementsByName('name')[4] .src)值。 So, there are document.getElementsByName('name')[4].src) in next logs.
因此,下一个日志中有document.getElementsByName('name')[4] .src)。 How i get another class in @JavascriptInterface method.
我如何在@JavascriptInterface方法中获取另一个类。
in onCreate() method in MainActivity 在MainActivity的onCreate()方法中
webview.getSettings().setJavaScriptEnabled(true);
webview.addJavascriptInterface(new JSI(), "HTMLOUT");
bt1.setOnClickListener(new OnClickListener(){
public void onClick(View v){
for(int i=0;i<5;i++){
webview.loadUrl("javascript:window.HTMLOUT.processHTML(document.getElementsByName('name')["+i+"].src);");
Log.i("CODE : ",JSI.var);
//or
String str = JSI.var;}
}});
JSI class JSI类
import android.webkit.JavascriptInterface;
public class JSI
{
static String var="";
@JavascriptInterface
public static void processHTML(String html)
{
var=html;
}
}
Try this 尝试这个
static String var="";
public void onCreate() {
webview.getSettings().setJavaScriptEnabled(true);
webview.addJavascriptInterface(this, "HTMLOUT");
bt1.setOnClickListener(new OnClickListener(){
public void onClick(View v){
for(int i=0;i<5;i++){
webview.loadUrl("javascript:window.HTMLOUT.processHTML(document.getElementsByName('name')["+i+"].src);");
}
}
);
}
@JavascriptInterface
public static void processHTML(String html){
var=html;
Log.i("CODE : ",var);
}
This way you have the value in your activity when the javascript is executed. 这样,当执行javascript时,您就可以在活动中获得价值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.