Android java.lang.String.indexOf(String.java)处嵌入的Webview NullPointerException

Android java.lang.String.indexOf(String.java)处嵌入的Webview NullPointerException,android,cordova,android-webview,Android,Cordova,Android Webview,在fragmenets中创建动态html内容并加载到嵌入式webview上,然后在java.lang.String.indexOf(String.java:994)处创建java.lang.NullPointerException 当我在loadUrl应用程序中提供url时,但当我在loadUrl应用程序中提供字符串格式时,相同的代码也在工作 谢谢 在API级别1中添加 使用“数据”方案URL将给定数据加载到此WebView 请注意,JavaScript的同源策略意味着使用此方法加载的页面中运行

在fragmenets中创建动态html内容并加载到嵌入式webview上,然后在java.lang.String.indexOf(String.java:994)处创建java.lang.NullPointerException

当我在loadUrl应用程序中提供url时,但当我在loadUrl应用程序中提供字符串格式时,相同的代码也在工作 谢谢

在API级别1中添加 使用“数据”方案URL将给定数据加载到此WebView

请注意,JavaScript的同源策略意味着使用此方法加载的页面中运行的脚本将无法访问使用“数据”以外的任何方案加载的内容,包括“http”。要避免此限制,请将loadDataWithBaseURL()与适当的基本URL一起使用

encoding参数指定数据是base64编码还是URL编码。如果数据是base64编码的,则编码参数的值必须为“base64”。对于参数的所有其他值(包括null),假定数据对安全URL字符范围内的八位字节使用ASCII编码,对该范围外的八位字节使用URL的标准%xx十六进制编码。例如,“#”、“%”、“\”、“?”应分别替换为%23、%25、%27、%3f

此方法形成的“数据”方案URL使用默认的US-ASCII字符集。如果需要设置不同的字符集,则应形成一个“数据”方案URL,该URL在URL的mediatype部分显式指定一个字符集参数,并调用loadUrl(String)。请注意,从数据URL的mediatype部分获得的字符集始终覆盖HTML或XML文档本身中指定的字符集

Parameters
data    a String of data in the given encoding
mimeType    the MIME type of the data, e.g. 'text/html'
encoding    the encoding of the data
这是loadData()的java文档。它表示数据已格式化为指向页面的URL

下面是Phonegap.com上的一个例子

public class CordovaViewTestActivity extends Activity implements CordovaInterface {
    CordovaWebView cwv;
    /* Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        cwv = (CordovaWebView) findViewById(R.id.tutorialView);
        cwv.loadUrl("file:///android_asset/www/index.html");
    }

伙计们,我得到了答案,我用了下面的代码,然后一切正常

mCordovaWebview.loadDataWithBaseURL(baseUrl, data, mimeType, encoding, historyUrl);

我已经使用cordovaWebview.loadUrl(urlstring)在activity和fragmenets中进行了操作;但我的情况不同,我正在用codedava webview创建动态片段,这里我正在加载动态html内容,如果我提供静态内容,它正在工作,但当我提供动态url应用程序时,在你的案例字符串html中崩溃;应该为html页面提供url路径,而不是html代码本身。使用此加载URL(“file:///android_asset/www/index.html"); 其中索引、html存储在资产中,或者制作一个文件并以编程方式加载它。但我的情况是,当用户单击时,我需要通过创建另一个html页面来更改同一页面中的内容
Parameters
data    a String of data in the given encoding
mimeType    the MIME type of the data, e.g. 'text/html'
encoding    the encoding of the data
public class CordovaViewTestActivity extends Activity implements CordovaInterface {
    CordovaWebView cwv;
    /* Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        cwv = (CordovaWebView) findViewById(R.id.tutorialView);
        cwv.loadUrl("file:///android_asset/www/index.html");
    }
mCordovaWebview.loadDataWithBaseURL(baseUrl, data, mimeType, encoding, historyUrl);