2013-07-28 74 views
1

我想添加加載指標到我的webview有沒有解決方案嗎?android片段webview加載指標

預先感謝您!

import com.actionbarsherlock.app.SherlockFragment; 

public class Showing_now extends SherlockFragment{ 

    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View mainView = (View) inflater.inflate(R.layout.activity_showing_now, container, false); 
    WebView webView = (WebView) mainView.findViewById(R.id.webViewsn); 

    webView.setWebViewClient(new MyWebViewClient()); 
    webView.getSettings().setPluginsEnabled(true); 
    webView.getSettings().setBuiltInZoomControls(false); 
    webView.getSettings().setSupportZoom(false); 
    webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); 
    webView.getSettings().setAllowFileAccess(true); 
    webView.getSettings().setDomStorageEnabled(true); 
    webView.getSettings().setJavaScriptEnabled(true); 
    webView.getSettings().setPluginState(PluginState.ON); 
    webView.loadUrl("http://www.myweburl.com"); 
    return mainView; 
} 
    private class MyWebViewClient extends WebViewClient { 

    } 
} 

回答

2

如果您使用ActionbarSherlock,和Android支持庫,我建議使用此設置

protected void onCreate(Bundle savedInstanceState) { 
    requestWindowFeature(Window.FEATURE_PROGRESS); 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.webview); 
    setSupportProgressBarVisibility(true); 
    WebView mWebView = (WebView) findViewById(R.id.WebView); 
    mWebView.setWebChromeClient(new WebChromeClient() { 
     public void onProgressChanged(WebView view, int progress) { 
      setSupportProgress(progress * 100); 
      if (progress == 100) { 
       setSupportProgressBarVisibility(false); 
      } 
     } 
    }); 
    webView1.loadUrl("http://www.google.com"); 
} 

那麼好看多了,你只需要調用requestWindowFeature(Window.FEATURE_PROGRESS)您設置ContentView,之後前,使用setSupportProgressBarVisibility(true);設置ProgressBar在您的webview第一次加載時創建。爲了讓進度視圖在內容加載完成時停止,您需要創建一個新的WebChromeClient並添加OnProgressChanged,並在進度達到100%時將ProgressBar的可見性設置爲false

+0

我嘗試使用它但它不工作你請告訴我應該在哪裏添加它? –

+0

當你初始化你的活動時,所有這些代碼都應該在'onCreate'中。究竟是什麼失敗?你有'NullPointerException'嗎?另外,因爲看起來你正在使用片段,所以你可能需要調整一下我的代碼。而不是使用'this',試試'getActivity()' – TheWizKid95