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クラスの内部
を試してみてください? –
@IshanFernandoが作られました。 –
アンドロイドでstartActivityForResultを試しましたか?https://developer.android.com/training/basics/intents/result.html –