我有两个布局(start.xml
和activity_main.xml
),我的第一个活动GubStartActivity.java
使用“start.xml”,其函数调用WebView
public void disparaweb()
{
setContentView(R.layout.activity_main);
myWebView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = myWebView.getSettings();
webSettings.setAllowContentAccess(true);
myWebView.loadData("", "text/html", null);
webSettings.setJavaScriptEnabled(true);
myWebView.loadUrl(Global.urlstr);
myWebView.addJavascriptInterface(new WebAppInterface(this), "Android");
}
我使用WebAppInterface.java作为我的.net应用程序的JavaScript接口。
一切正常,但我想在WebAppInterface中更改URL,我无法使用findViewById获取WebView
,无论我使用什么,它总是返回null。
如何在WebAppInterface.java
中获取myWebView元素?
答案 0 :(得分:0)
好的,我认为如果您将webview作为参数传递给WebAppInterface它应该可以工作,在WebAppInterface中更改它
WebAppInterface(Context c) {
mContext = c;
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
mBlueProbeAdapter = BluetoothAdapter.getDefaultAdapter();
}
到
WebAppInterface(Context c, WebView webView) {
mContext = c;
this.myWebView=webView;
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
mBlueProbeAdapter = BluetoothAdapter.getDefaultAdapter();
}
当你设置这个
时myWebView.addJavascriptInterface(new WebAppInterface(this), "Android");
将此设置为
myWebView.addJavascriptInterface(new WebAppInterface(this, myWebView), "Android");