繁体   English   中英

不幸的是,添加webview后,应用已在android模拟器中停止

[英]unfortunately app has stopped in android emulator after adding webview

我正在尝试构建一个Android应用程序,该应用程序从Java获取输入[数组值],并将其传递给Java脚本和html文件。 我已经创建了Web视图的概念。 但是,当我执行应用程序无法正常工作。 这是代码。 HTML文件将采用数组值并绘制图形

package com.example.helloworld;

import android.os.Bundle;
import android.webkit.JavascriptInterface;
import android.webkit.WebView;


import org.apache.cordova.*;

public class MainActivity extends DroidGap {
WebView webview;
final class ChartDataLoader{
@JavascriptInterface
public double[][] getData(){ double[][] data = { {10,10}, {20, 10} }; return data; }               
}

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
webview.addJavascriptInterface(new ChartDataLoader(), "dataLoader");
webview.loadUrl("file:///android_asset/www/index.html");

}
}

HTML文件

<html>
<head>
<script type="text/javascript" src="jscharts.js"></script>
</head>

<body>
<div id="chartcontainer">You should see a chart here.</div>

<script type="text/javascript">

myData = dataLoader.getData(); 
alert("DataReceived: " + myData.length);
alert("Element 0 : " + myData[0]);

var myChart = new JSChart('chartcontainer', 'line');
myChart.setDataArray(myData);
myChart.draw();

</script>
</body>
</html>

根据您的评论,DroidGap是一个模拟器名称。

所以改为

public class MainActivity extends Activity {

这个

//setContentView(R.layout.activity_main); // uncomment this

被评论

并且webview没有初始化。

例:

WebView webview;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webview = (WebView) findViewById(R.id.webView1); // missing

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM