2015-01-16 2 views
1

안녕하세요, 저는 WebView 응용 프로그램을 만들려고합니다. 그리고 페이지가로드 될 때까지 대기중인 대화 상자를 만들고 싶습니다.Xamarin WebViewClient onLoadResource/onPageFinished

그러나 나는 다른 해결책을 시도했지만 인터넷에서 다른 사람들을 위해 일할 때 이것이 작동하지 않는 이유를 알 수 없습니다. 그것은 Xamarin에서 "}"이 줄 다음에 빠져 있다고 말합니다. webview.SetWebViewClient (새 WebViewClient() {, 심지어 그 것을 기억했습니다}); 그 때 끝.

webview.SetWebViewClient() 내부에 무언가를 만들 수없는 것 같습니다. 활동 컨텍스트를 전달하는

public class HelloWebViewClient : WebViewClient 
{ 
    public Activity mActivity; 
    public HelloWebViewClient(Activity mActivity){ 
    this.mActivity=mActivity 
    } 
    public override bool ShouldOverrideUrlLoading (WebView view, string url) 
     { 
       view.LoadUrl (url); 
       Toast.MakeText (mActivity, "Toast Message", 
            ToastLength.Long).Show(); 
       return true; 
     } 
} 

HelloWebViewClient 클래스 생성자를 사용합니다 :

webview.SetWebViewClient(new WebViewClient() { 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      view.loadUrl(url); 
      return true; 
     } 

     public void onLoadResource(WebView view, String url) { 
      //code to show dialog 
     } 

     public void onPageFinished(WebView view, String url) { 
      //code to dismiss dialog 
     } 

    }); 
+0

Xamarin에서 코딩하는 데 C#을 사용하고 있습니까? 게시 된 코드가 Java –

+0

로 작성 되었기 때문에 내 문제는 C#이 SetWebViewClient() 내부에서 함수/void를 허용하지 않는다는 것입니다. 나는 또한 http://developer.xamarin.com/guides/android/user_interface/web_view/에서 예제 Step7처럼 만들려고 시도했다. 그러나 그 다음에 나는 Toast.MakeText를 메인 클래스 나 그 안에 넣지 않기조차 할 수 없다. – user2931144

+0

제공된 링크를 사용하여 어떤 문제가 발생합니까? –

답변

4

는 C#으로 당신이로 WebViewClient을 확장하여 클래스를 만들어야합니다 웹보기에 WebViewClient를 추가하고 shouldOverrideUrlLoading에서 토스트 메시지를 표시하려면

web_view.SetWebViewClient (new HelloWebViewClient (this)); 
+0

Thanks. 그것은 내가 필요한 것입니다. – user2931144

관련 문제