2017-10-08 61 views
0

我在Android上通過一個接口創建了一個活動(AuthenticationActivity)。另一個類實現這個接口。我需要爲AuthenticationActivity解析一個接口對象,所以當一個事件發生時,另一個類執行一個動作。如何在Android活動中獲得列表器實現

public class MyWebViewActivity extends Activity { 
private WebView mWebView; 

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

      mWebView = (WebView) findViewById(R.id.webview); 
    mWebView.setWebViewClient(new OAuthWebViewClient()); 
      mWebView.setVerticalScrollBarEnabled(false); 
      mWebView.setHorizontalScrollBarEnabled(false); 
      mWebView.getSettings().setJavaScriptEnabled(true); 
      mWebView.loadUrl("https://www...."); 
     } 

    private class OAuthWebViewClient extends WebViewClient { 
    @Override 
      public boolean shouldOverrideUrlLoading(WebView view, String url) { 
       if (url.startsWith(App.callbackUrl)) { 
        String urls[] = url.split("="); 
        // listener.onComplete(urls[1]); // HERE I NEED FOR LISTNER 
        return true; 
       } 
       return false; 
      } 
    } 

    public interface OAuthDialogListener { 
      public abstract void onComplete(String accessToken); 
      public abstract void onError(String error); 
     } 
    } 

我在其他類:

OAuthDialogListener listener = new OAuthDialogListener() { 
      @Override 
      public void onComplete(String code) { 
       getAccessToken(code); 
      } 

      @Override 
      public void onError(String error) { 
       mListener.onFail("Authorization failed"); 
      } 
     }; 

安本級呼叫:

Intent intent = new Intent(this, MyWebViewActivity.class); 
startActivity(intent); 

如何MyWebViewActivity CLAS使用listener

+0

你能後,你有代碼示例? –

+0

@IshanFernando製作完成。 –

+0

您是否在android中嘗試過startActivityForResult?https://developer.android.com/training/basics/intents/result.html –

回答

0

OAuthWebViewClient類中初始化OAuthDialogListener,並將它們與MyWebViewActivity實現它

嘗試

public class MyWebViewActivity extends Activity implements OAuthWebViewClient { 
相關問題