[英]Java get variable from another class in Android JavascriptInterface
我有兩個課程,我想在MainActivity中獲取“ JSI.var”。 首先,當我單擊按鈕時,我得到“”空值。 因此,沒有日志。 其次,我得到document.getElementsByName('name')[4] .src)值。 因此,下一個日志中有document.getElementsByName('name')[4] .src)。 我如何在@JavascriptInterface方法中獲取另一個類。
在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類
import android.webkit.JavascriptInterface;
public class JSI
{
static String var="";
@JavascriptInterface
public static void processHTML(String html)
{
var=html;
}
}
嘗試這個
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);
}
這樣,當執行javascript時,您就可以在活動中獲得價值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.