2017-10-08 11 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をどのように使用するかを? OAuthWebViewClientクラスの内部

+0

を試してみてください? –

+0

@IshanFernandoが作られました。 –

+0

アンドロイドでstartActivityForResultを試しましたか?https://developer.android.com/training/basics/intents/result.html –

答えて

0

OAuthDialogListenerを初期化し、それらをMyWebViewActivity

でそれを実装するには、あなたが持っているコードサンプルを投稿することができ

public class MyWebViewActivity extends Activity implements OAuthWebViewClient { 
関連する問題