2011-10-28 98 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

相關問題