2011-10-28 361 views
0

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

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); 
        }); 

回答

3

文档说:

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

所以我想答案是否定的。然而,你总是可以初始化一个新的...

+0

这听起来不错,但我一直在尝试它,并不能得到它的工作,尝试它的理由我已经设置了一个按钮来销毁它,另一个建立一个新的,但它不工作,这是我的尝试也许你可以看到我的问题是什么,谢谢。请参阅发布中的更新。 – zvzej

+0

我认为“R.id.wVradios”是您称之为销毁的网页视图,对不对?所以你永远不能再次访问它。现在,当你用另一个视图调用setContentView的时候,你旧的布局被破坏了,所以你不能再用findViewById来获取它。如果你想恢复它,我想你可以重新调用setContextView(R.layout.your_layout); – Jong

+0

如果我使用wvr.removeAllViews();这也是我想要的,但是当我回到它时什么都没有显示,所以使用它可以重建wvr(web视图)? – zvzej

相关问题