【问题标题】:Crash in com.paymob.acceptsdk.PayActivity void androidx.appcompat.app.ActionBar after migrating Project to AndroidX将项目迁移到 AndroidX 后,com.paymob.acceptsdk.PayActivity void androidx.appcompat.app.ActionBar 崩溃
【发布时间】:2019-10-03 13:20:16
【问题描述】:

将项目迁移到 AndroidX 后,我遇到了这个崩溃

 Unable to start activity ComponentInfo{oackagename/com.paymob.acceptsdk.PayActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void androidx.appcompat.app.ActionBar.setDisplayHomeAsUpEnabled(boolean)' on a null object reference

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void androidx.appcompat.app.ActionBar.setDisplayHomeAsUpEnabled(boolean)' on a null object reference

PayActivity 是支付门 SDK 中的活动,我无法更改其代码。

我怎么能活动:

Intent pay_intent = new Intent(this, PayActivity.class);

putNormalExtras(pay_intent);
pay_intent.putExtra(PayActivityIntentKeys.SAVE_CARD_DEFAULT, true);
pay_intent.putExtra(PayActivityIntentKeys.SHOW_ALERTS, showSaveCard);
pay_intent.putExtra(PayActivityIntentKeys.SHOW_SAVE_CARD, showSaveCard);
pay_intent.putExtra(PayActivityIntentKeys.THEME_COLOR, 0x8033B5E5);

startActivityForResult(pay_intent, ACCEPT_PAYMENT_REQUEST);

更新: 图书馆链接:

implementation 'com.paymob:acceptsdk:1.0.6'
implementation 'net.authorize:accept-sdk-android:1.0.2'

【问题讨论】:

  • 您的集成 SDK 是否支持 AndroidX?如果是,则可能使用该更新的 SDK,否则另一种解决方案是将您的 AppTheme 更改为 MaterialComponents with Bridge 版本支持。希望能帮助到你。 (确保您已在项目中启用 jetifier)
  • 你能解释一下桥接部分的materialcomponent吗?并且 enableJetifier 是真的
  • styles.xml 中的AppTheme 是什么? (请分享你的代码)。
  • @style/AppTheme.NoActionBar
  • 跨度>

标签: android android-actionbar androidx


【解决方案1】:

将此添加到您的 Manifest 文件中

 <activity android:name="com.paymob.acceptsdk.PayActivity"
            android:theme="@style/Theme.AppCompat.DayNight.DarkActionBar"/>

【讨论】:

    猜你喜欢
    • 2019-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-21
    • 1970-01-01
    • 2019-12-25
    相关资源
    最近更新 更多