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

时间:2016-05-23 16:13:48

标签: android zendesk

我在我的Android应用程序中使用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 个答案:

答案 0 :(得分:13)

你可以做以下两件事之一:

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)对活动进行子类化并在活动中定义样式。