如何在Android活动中获得列表器实现

问题描述:

我在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 –

OAuthWebViewClient类中初始化OAuthDialogListener,并将它们与MyWebViewActivity实现它

尝试

public class MyWebViewActivity extends Activity implements OAuthWebViewClient {