Android 如果我使用 WebView.destroy() 可以稍后恢复吗?

发布于 2024-12-12 08:38:30 字数 1140 浏览 0 评论 0原文

所以我的问题很简单,如果我在应用程序中使用 WebView.destroy() ,我可以将 WebView 恢复到应用程序首次初始化时的原始状态,而无需关闭我的应用程序并再次打开它吗?我该怎么做?我只是希望能够按下一个按钮并让这个按钮重建我的 WebView 并加载一个新的 url。我需要销毁它,而不仅仅是将其设置为消失或不可见。 谢谢

更新:

Button rbesatbtn = (Button) findViewById(R.id.btnrbesa);
                    rbesatbtn.setOnClickListener(new  View.OnClickListener() {

                        @Override
                        public void onClick(View v) {
                                                        wvr.destroy()


                        }
                    }); 
Button resttbtn = (Button) findViewById(R.id.btnrrest);
                    rrestbtn.setOnClickListener(new View.OnClickListener() {
@Override
                        public void onClick(View v) {
 WebView wvr = new WebView(this);
 setContentView(wvr);
 wvr = (WebView) findViewById(R.id.wVradios);
 wvr.getSettings().setJavaScriptEnabled(true);
 wvr.getSettings().setPluginsEnabled(true);
 wvr.setWebViewClient(new WebViewClient());
 wvr.setInitialScale(1);
 wvr.getSettings().setBuiltInZoomControls(true);
 wvr.getSettings().setUseWideViewPort(true);
                    }); 

So my question is simple if I use the WebView.destroy() in my app can I restore WebView to it's original state when the app was first initialize with out closing my app and opening it again? and how can I do this? I just want to be able to press a button and have this button rebuild my WebView and load a new url. I need to destroy it no just set it GONE or INVISIBLE.
Thanks

UPDATE:

Button rbesatbtn = (Button) findViewById(R.id.btnrbesa);
                    rbesatbtn.setOnClickListener(new  View.OnClickListener() {

                        @Override
                        public void onClick(View v) {
                                                        wvr.destroy()


                        }
                    }); 
Button resttbtn = (Button) findViewById(R.id.btnrrest);
                    rrestbtn.setOnClickListener(new View.OnClickListener() {
@Override
                        public void onClick(View v) {
 WebView wvr = new WebView(this);
 setContentView(wvr);
 wvr = (WebView) findViewById(R.id.wVradios);
 wvr.getSettings().setJavaScriptEnabled(true);
 wvr.getSettings().setPluginsEnabled(true);
 wvr.setWebViewClient(new WebViewClient());
 wvr.setInitialScale(1);
 wvr.getSettings().setBuiltInZoomControls(true);
 wvr.getSettings().setUseWideViewPort(true);
                    }); 

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

只有影子陪我不离不弃 2024-12-19 08:38:30

文档说:

销毁WebView的内部状态。应在 WebView 从视图系统中删除后调用此方法。 销毁后不能在 WebView 上调用其他方法。

所以我猜答案是否定的。但是,您始终可以初始化一个新的......

The documentation says:

Destroy the internal state of the WebView. This method should be called after the WebView has been removed from the view system. No other methods may be called on a WebView after destroy.

So I guess that the answer is no. However, you can always initialize a new one...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文