我用webview来显示网络服务调用的数据。 如果数据显示在webview中,我将转到下一个片段,然后返回到上一个片段,webview为空白。有没有办法在应用程序加载后保留数据?
webView.loadDataWithBaseURL(null, html,"text/html", "utf-8", null);
“html”字符串包含HTML代码。
答案 0 :(得分:0)
试试这种方式
1)在您的活动中创建此界面
public class JavaScriptInterface {
private Context context;
public JavaScriptInterface(Context activiy) {
this.context = activiy;
}
public void onVideoClick(String sourceAddress) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(sourceAddress), "video/3gpp");
context.startActivity(intent);
}
}
2)在你的代码中,在webview中的loadData之前写下这些行。
JavaScriptInterface jsInterface = new JavaScriptInterface(this);
webView.addJavascriptInterface(jsInterface, "JSInterface");
String newHtml = html.replaceAll("<video width=\"[0-9]*", "<video width=\"100\\%\" onclick=\"window.JSInterface.onVideoClick(src);\"");
webView.loadDataWithBaseURL(null, newHtml,"text/html", "utf-8", null);