2012-11-28 41 views
0

我試圖在活動中使用WebView執行一些操作,並想知道如何檢測網頁何時加載(這與廣告投放系統有關)。我通過電子郵件發送了非常緩慢的廣告代理技術支持團隊,他們最終回覆說:「您可以在WebView中使用HTML橫幅,並且您需要在WebView上實現WebViewClient類」。我不是100%肯定這是什麼意思,但我的第一個猜測是加上「實現WebViewClient」我actibvity,即:「在WebView上實現WebViewClient類」

public class MyActivity extends Activity implements WebViewClient 
{ 

我當時滿以爲日食告訴我,我有一些缺少進口,它會讓我選擇添加......但令我驚訝的是,這兩個選項是「創建界面WebViweClient」和「修復項目設置」。所以現在我很困惑,不知道下一步該怎麼做。

任何人都可以告訴我一些示例代碼或給我一個提示,讓我在正確的方向?

編輯:我試圖做的是加載一個廣告的web視圖,然後在稍後的時間(並檢查廣告加載完成),我會顯示webview。

回答

2
import android.app.Activity; 
import android.graphics.Bitmap; 
import android.os.Bundle; 
import android.view.KeyEvent; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 

/* 
* Demo of creating an application to open any URL inside the application and clicking on any link from that URl 
should not open Native browser but that URL should open in the same screen. 
*/ 
public class WebViewClientDemoActivity extends Activity { 
    /** Called when the activity is first created. */ 

    WebView web; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     web = (WebView) findViewById(R.id.webview01); 
     web.setWebViewClient(new myWebClient()); 
     web.getSettings().setJavaScriptEnabled(true); 
     web.loadUrl("http://www.google.com"); 
    } 

    public class myWebClient extends WebViewClient 
    { 
     @Override 
     public void onPageStarted(WebView view, String url, Bitmap favicon) { 
      // TODO Auto-generated method stub 
      super.onPageStarted(view, url, favicon); 
     } 

     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      // TODO Auto-generated method stub 

      view.loadUrl(url); 
      return true; 

     } 
    } 

    // To handle "Back" key press event for WebView to go back to previous screen. 
    @Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) 
    { 
    if ((keyCode == KeyEvent.KEYCODE_BACK) && web.canGoBack()) { 
     web.goBack(); 
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
    } 
} 
+0

這正是我需要的,謝謝。 – Mick

1

WebViewClientclass不是interface

您必須創建自己的類像MyWebViewClient extends WebViewClient,並在您Activity可以設置WebViewClientWebView,像這樣:

WebView myWebView = (WebView) findViewById(R.id.myWebView); 
myWebView.setWebViewClient(new MyWebViewClient()); 
相關問題