Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java WebView未加载数据?_Java_Android_Webview - Fatal编程技术网

Java WebView未加载数据?

Java WebView未加载数据?,java,android,webview,Java,Android,Webview,我正在尝试使用 WebView,但WebView声称该页面: “数据:text/html;utf-8,[我试图显示的html]” 没有 我觉得奇怪的是,它似乎将html数据放入 url,当我只想让它显示它时 下面是我现在的webview代码: Bundle data = getIntent().getExtras(); WebView webview = new WebView(this); setContentView(webview); webview.loadData(data.ge

我正在尝试使用 WebView,但WebView声称该页面:

“数据:text/html;utf-8,[我试图显示的html]”

没有

我觉得奇怪的是,它似乎将html数据放入 url,当我只想让它显示它时

下面是我现在的webview代码:

Bundle data = getIntent().getExtras();

WebView webview = new WebView(this);
setContentView(webview);

webview.loadData(data.getString("DEFAULTTEXT"), "text/html", "utf-8");
其中HTML已在捆绑包中以字符串形式传递给 标识符:DEFAULTTEXT。我已经测试了这个类,HTML已经通过了测试 很好,只是显示不正确


它在我尝试过的一些网页上运行良好,但在其他网页上则不行。我将尝试发布一个有效和一个无效的代码。

您确定您在manifest.xml中定义了正确的权限吗?

Huuu。。。。所以今天早上我打开了电脑,它工作得很好。我仍然不知道问题出在哪里/

编辑:没关系。它在我试图显示的一些页面上有效,但不是所有页面都有效


Edit2:用BaseURL将其替换为LoadDataWithURL非常有效。

我认为loadData*的这种零星行为是因为您试图加载的页面内容。如果它是简单的html,那么就没有问题。但如果它有css等需要外部信息的组件或其他功能,它就会退出。
我的经验

如上所述,当HTML中有“%”、“\”、“#”等字符时,需要对其进行转义,而loadData似乎不会自动进行转义

取而代之的是,loadData确实逃逸了,而且似乎解决了这个问题。只需对baseUrl和historyUrl使用null。因此,问题中的示例代码更改为:

Bundle data = getIntent().getExtras();

WebView webview = new WebView(this);
setContentView(webview);

webview.loadDataWithBaseURL(null,data.getString("DEFAULTTEXT"), "text/html", "utf-8",null);

我有互联网权限、音频状态和电话状态。我还需要另一个吗?我也有这个问题。你有没有想出一个解决办法?我正在读取一个java字符串,但它没有显示。但是当我复制并粘贴到一个.html文件中时,我使用file:///assets/my.html url,它可以打开。所以我知道它可以呈现html,但它不喜欢它出现在我生成的字符串中。同样的问题在这里,一些页面工作,一些不…实际上,loadDataWithBaseURL解决了这个问题。哦,我还没有解决这个问题。我会试试看。我也是这样做的,在加载数据时出错,现在使用的是:webView.loadDataWithBaseURL(“”,resultData.getString(MarketRules.MARKET_RULES),“text/html”,“utf-8”,等等);这是好的:)我的工作全面,然后有一天停止工作的一切。loadDataWithBaseURL现在可以工作了,希望它不会像现在这样神秘地崩溃