вкладки и индикатор выполнения в заголовке Android - PullRequest
0 голосов
/ 24 мая 2011

Я пытаюсь создать учебный код ниже, у меня есть две вкладки, каждая из которых отображает веб-просмотр внутри с этим кодом внутри.

Но индикатор выполнения больше не работает, отображается в строке заголовка. Это работает только тогда, когда я смотрю веб-просмотры отдельно, но не когда я использую tabhost и соединяю их вместе. Мне нравится индикатор в названии, и я действительно хочу, чтобы он работал.

Я довольно новичок, поэтому любые советы или подсказки полезны.

Учебник

   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 Ответ

1 голос
/ 25 мая 2011

У меня раньше была похожая проблема с Tab Views;сначала они немного сбивают с толку, но позвольте мне попытаться объяснить.Если вы реализуете представление вкладок с помощью другого действия, другими словами, у вас есть действие, называемое WebBrowser, которое содержит две вкладки внутри, действие WebBrowser контролирует заголовок / индикатор выполнения.Следовательно, представления вкладок, или MyActivity, не могут контролировать заголовок / индикатор выполнения WebBrowser напрямую через MyActivity.setTitle ().Фактически, MyActivity в этом случае не имеет видимой строки заголовка для доступа;все это окружено WebBrowser.Чтобы контролировать это, вы должны вызвать его через WebBrowser.Дайте мне знать, если я объяснил это достаточно ясно!

...