說我有兩個變量,x和y,我想將它們從MyActivity傳遞給JavaScript。這是我的代碼:將變量從Android Activity傳遞到JavaScript
public class myNewActivity extends Activity {
double x;
double y;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new);
// get extras passed from another activity
Bundle extras = getIntent().getExtras();
if (extras != null) {
x = extras.getDouble("x");
y = extras.getDouble("y");
}
WebView webView = (WebView)findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebChromeClient(new WebChromeClient());
//webView.loadUrl("javascript:setX('"+x+"')");
//webView.loadUrl("javascript:setY('"+y+"')");
webView.loadUrl("file:///android_asset/index.html");
}
我正在嘗試與兩個註釋行的東西,但只是崩潰的應用程序。這是JavaScript:
var x, y;
function init(){
// ... here I need the values of X and Y
}
function setX(ex) {
x = ex;
}
function setY(ey) {
y = ey
}
http://developer.android.com/guide/webapps/webview .html –
在頁面加載後(在'onPageCompleted()')之後,你可以爲你的js *運行'loadUrl'。不用實現'setX'和'setY',只需提供一個'setXY' - 少一個電話。 – 323go
@ 323go但是如果我想在我正在加載的頁面上顯示它們,我不需要以前的值嗎?有沒有其他的方法? – user1418018