2016-05-23 64 views
0

我用我的Android應用程序的Zendesk SDK的外部活動您需要使用Theme.AppCompat主題(或後代)與SDK的Zendesk這一活動

我只是用下面的代碼

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

這條消息是什麼'你需要在這個活動中使用Theme.AppCompat主題(或後代)。「告訴你嗎? –

+0

是的,我知道我需要在活動中使用這個主題,但這個活動不是我的代碼的一部分,它是zendesk sdk的一部分,它不在我的清單文件中定義,我不想使用這個主題爲我的整個應用程序。 –

+1

由於信息解釋清楚,你可以使用該主題'只有這個活動.',如果是這樣,你希望並不關心用戶界面的連續性 –

回答

10

你可以做兩件事情之一:

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)對活動進行子類化並在活動中定義樣式。

+1

將嘗試這兩種解決方案,並讓你知道,感謝您的幫助。 –

+0

非常感謝,第一個解決方案與我合作:) –

相關問題