条纹Android错误没有合适的构造函数

时间:2017-03-21 07:02:31

标签: android stripe-payments

当我尝试构建我的项目时,它给了我一个error.same下面的代码工作正常,然后将android studio更新为2.3。更新后它给了我这个错误。我正在使用Stripe API版本2016-07- 06。

代码

    Stripe stripe = new Stripe();
    stripe.createToken(card, publishableApiKey, new TokenCallback() {
      public void onSuccess(MediaSession.Token token) {
      // TODO: Send Token information to your backend to initiate a charge
      Log.d("StripeToken", "MediaSession.Token created: " + token.toString());
      Toast.makeText(getApplicationContext(),"MediaSession.Token created: " + token.toString(), //getId(),Toast.LENGTH_LONG).show();
  }

错误

Error:(100, 13) error: no suitable constructor found for Stripe(no arguments)
constructor Stripe.Stripe(Context) is not applicable
(actual and formal argument lists differ in length)
constructor Stripe.Stripe(Context,String) is not applicable
(actual and formal argument lists differ in length)

2 个答案:

答案 0 :(得分:2)

您需要将Context参数传递给Stripe对象构造函数。 Stripe对象没有更多的no-arg构造函数(这是从2.1.0开始的变化 - > 3.0.0)。

它与您的Android Studio升级无关 - 只是Stripe库升级。

答案 1 :(得分:0)

@mrmcduff是对的。

请从下方documentation找到正确的方法。

    Stripe stripe = new Stripe(mContext, "pk_test_6pRNASCoBOKtIshFeQd4XMUh");
stripe.createToken(
  card,
  new TokenCallback() {
    public void onSuccess(Token token) {
      // Send token to your server
    }
    public void onError(Exception error) {
      // Show localized error message
      Toast.makeText(getContext(),
        error.getLocalizedString(getContext()),
        Toast.LENGTH_LONG
      ).show();
    }
  }
)