您需要在 zendesk sdk 中将 Theme.AppCompat 主题(或后代)与此活动一起使用



>我正在我的安卓应用程序中使用 zendesk sdk 的外部活动

我只是使用以下代码打开它

Intent intent = new Intent(ContactUsActivity.this, ContactZendeskActivity.class);
startActivity(intent);

然后我得到了以下崩溃

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.forsale.forsale/com.zendesk.sdk.feedback.ui.ContactZendeskActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3149)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3248)
at android.app.ActivityThread.access$1000(ActivityThread.java:197)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1681)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6872)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at android.support.v7.app.AppCompatDelegateImplV7.createSubDecor(AppCompatDelegateImplV7.java:331)
at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:300)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:264)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:130)
at com.zendesk.sdk.feedback.ui.ContactZendeskActivity.onCreate(ContactZendeskActivity.java:103)
at android.app.Activity.performCreate(Activity.java:6550)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1120)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3102)
... 10 more

谁能告诉我该怎么做?

编辑

我知道我需要在活动中使用此主题,但该活动不是我的代码的一部分,它是 zendesk sdk 的一部分,并且没有在我的清单文件中定义,并且我不想将此主题用于我的整个应用程序

您可以执行以下两项操作之一:

1) 在您自己的清单中重新定义活动

<activity
  android:name="com.zendesk.sdk.feedback.ui.ContactZendeskActivity"
  android:label="@string/contact_fragment_title"
  android:windowSoftInputMode="stateVisible|adjustResize"
  android:theme="your_theme" />

2) 对活动进行子类化并在活动中定义样式。

相关内容

最新更新