2011-05-24 62 views
0

我想構建下面的教程代碼,我有兩個選項卡,每個都顯示一個webview裏面的代碼裏面。標題和進度條在標題android

但是,進度條不起作用顯示在標題欄了。它只適用於我單獨查看webviews的情況,但是當我使用tabhost並將它們放在一起時不起作用。我喜歡標題中的進度條,並且非常希望它能夠正常工作。

我很新,所以任何提示或提示都很有幫助。

Tutorial

package firsrdroid.tutorial.mywebview; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.Window; 
import android.webkit.WebChromeClient; 
import android.webkit.WebView; 

public class UsingMyWebview extends Activity { 

    WebView mWebView; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 

     // Adds Progrss bar Support 
     this.getWindow().requestFeature(Window.FEATURE_PROGRESS); 
     setContentView(R.layout.main); 

     // Makes Progress bar Visible 
     getWindow().setFeatureInt(Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON); 

     // Get Web view 
     mWebView = (WebView) findViewById(R.id.MyWebview); //This is the id you gave 
               //to the WebView in the main.xml 
     mWebView.getSettings().setJavaScriptEnabled(true); 
     mWebView.getSettings().setSupportZoom(true);  //Zoom Control on web (You don't need this 
               //if ROM supports Multi-Touch  
     mWebView.getSettings().setBuiltInZoomControls(true); //Enable Multitouch if supported by ROM 

     // Load URL 
     mWebView.loadUrl("http://www.firstdroid.com/advertisement.htm"); 


     // Sets the Chrome Client, and defines the onProgressChanged 
     // This makes the Progress bar be updated. 
     final Activity MyActivity = this; 
     mWebView.setWebChromeClient(new WebChromeClient() { 
     public void onProgressChanged(WebView view, int progress) 
     { 
     //Make the bar disappear after URL is loaded, and changes string to Loading... 
     MyActivity.setTitle("Loading..."); 
     MyActivity.setProgress(progress * 100); //Make the bar disappear after URL is loaded 

     // Return the app name after finish loading 
      if(progress == 100) 
       MyActivity.setTitle(R.string.app_name); 
      } 
     }); 



    }//End of Method onCreate 
} 

回答

1

我已經與標籤視圖之前類似的問題;他們起初有點困惑,但讓我試着解釋一下。如果您通過其他活動實現Tab View,換句話說,您有一個活動,將其稱爲WebBrowser,其中包含兩個選項卡,活動WebBrowser可以控制標題/進度欄。因此,Tab Views,又名MyActivity,不能通過MyActivity.setTitle()直接控制WebBrowser的標題/進度條。事實上,在這種情況下,MyActivity並沒有真正的可見標題欄來訪問;它全部被WebBrowser包圍。爲了控制它,你必須通過WebBrowser調用它。如果我足夠清楚地解釋這個,讓我知道!