2014-11-01 58 views
4

我正在使用此主題generator爲我的Titanium應用程序創建自定義主題。但是當我運行我的應用程序時,它崩潰了,我的日誌說我需要appCompact,即使我爲sdk> sdk 11設置主題。java.lang.IllegalStateException:您需要在此活動中使用Theme.AppCompat主題(或後代)。鈦

而我的Android版本定位爲API 19,min SDK版本爲API14,爲什麼我需要appCompact

這是我的日誌說:

[ERROR] : TiApplication: (main) [512,512] Sending event: exception on thread: main msg:java.lang.RuntimeException: Unable to start activity ComponentInfo{a.s/org.appcelerator.titanium.TiActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.; Titanium 3.4.0,2014/09/25 16:42,b54c467 
[ERROR] : TiApplication: java.lang.RuntimeException: Unable to start activity ComponentInfo{a.s/org.appcelerator.titanium.TiActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. 
[ERROR] : TiApplication: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195) 
[ERROR] : TiApplication: at android.app.ActivityThread.handleLaunchActivity(Activ 
[ERROR] : TiApplication: at android.app.ActivityThread.access$800(ActivityThread.java:135) 
[ERROR] : TiApplication: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
[ERROR] : TiApplication: at android.os.Handler.dispatchMessage(Handler.java:102) 
[ERROR] : TiApplication: at android.os.Looper.loop(Looper.java:136) 
[ERROR] : TiApplication: at android.app.ActivityThread.main(ActivityThread.java:5017) 
[ERROR] : TiApplication: at java.lang.reflect.Method.invokeNative(Native Method) 
[ERROR] : TiApplication: at java.lang.reflect.Method.invoke(Method.java:515) 
[ERROR] : TiApplication: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
[ERROR] : TiApplication: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
[ERROR] : TiApplication: at dalvik.system.NativeStart.main(Native Method) 
[ERROR] : TiApplication: Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. 
[ERROR] : TiApplication: at android.support.v7.app.ActionBarActivityDelegate.onCreate(ActionBarActivityDelegate.java:108) 
[ERROR] : TiApplication: at android.support.v7.app.ActionBarActivityDelegateICS.onCreate(ActionBarActivityDelegateICS.java:57) 
[ERROR] : TiApplication: at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:98) 
[ERROR] : TiApplication: at org.appcelerator.titanium.TiBaseActivity.onCreate(TiBaseActivity.java:516) 
[ERROR] : TiApplication: at org.appcelerator.titanium.TiActivity.onCreate(TiActivity.java:18) 
[ERROR] : TiApplication: at android.app.Activity.performCreate(Activity.java:5231) 
[ERROR] : TiApplication: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
[ERROR] : TiApplication: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159) 
[ERROR] : TiApplication: ... 11 more 
+0

你可以提供你的'tiapp.xml'和你放置生成的主題的路徑。 – turtle 2014-11-03 04:01:31

+0

14 <使用-SDK機器人:的minSdkVersion = 「14」/> <使用-SDK機器人:targetSdkVersion = 「19」/> Tony 2014-11-03 08:51:34

+0

APPNAME/platform/android/res/values – Tony 2014-11-03 08:53:43

回答

6

您使用的是ActionBarActivity,這需要一個程序兼容性主題。我不確定你如何使用Titanium做到這一點,但是你可能需要切換到AppCompat主題,或者使用常規的Activity(如果你的目標是11或更高,這應該不成問題)。

+0

如果我將'AppCompatActivity'更改爲活動..操作欄不見了.. – reegan29 2015-09-07 11:48:58

+0

@ reegan29做你的任何主題聲明'ActionBar'不應該顯示? – 2015-09-08 14:57:46

+0

這是我的問題兄弟..你可以回答這個問題..http://stackoverflow.com/questions/32437690/how-to-get-wifilist-using-getter-from-standalone-class-extends-broadcastreceiver – reegan29 2015-09-08 15:39:27

9

OK,請試試這個,

這個屬性添加到您的活動

android:theme="@style/Theme.AppCompat" 
+0

我很喜歡國王鈦sdk不android的java – Tony 2014-11-01 12:51:18

4

寫的代碼風格-V11夾

name="AppBaseTheme" parent="Theme.AppCompat.Light" 

和風格-V14夾

name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar" 
+0

你能請給這個答案添加一個解釋嗎? – Nativ 2016-04-26 14:07:19

+0

感謝它的幫助我 – 2017-03-27 05:26:06

1

刪除庫項目的所有樣式。 只在主工程中指定Style文件夾,不在庫工程中。 它爲我:)

4

的ActionBarActivity只需更改到活動或FragmentActivity

4

我知道這是非常唯一的問題,但你應該包括父主題到你的風格。

<!-- Base application theme. Transparent theme --> 
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
     <!-- Customize your theme here. --> 
     <item name="colorPrimary">@color/colorPrimary</item> 
     <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
     <item name="colorAccent">@color/colorAccent</item> 
    </style> 


    <style name="Transparent" parent="Theme.AppCompat.Light.DarkActionBar"> 
     <item name="android:windowIsTranslucent">true</item> 
     <item name="android:windowBackground">@android:color/transparent</item> 
     <item name="android:windowContentOverlay">@null</item> 
     <item name="android:windowNoTitle">true</item> 
     <item name="android:windowIsFloating">true</item> 
     <item name="android:backgroundDimEnabled">false</item> 
    </style> 
+0

這節省了我的一天! – 2016-10-26 10:20:18

2

這是一個有點尷尬的承認了我是如何遇到了這個錯誤,但在希望救一個人一個小時或拉扯頭髮 - 對我來說是一個流浪「>」我錯誤地複製到我的AndroidManifest

<application 
    android:name=".MyApplication" 
    android:allowBackup="true" 
    android:fullBackupContent="@xml/my_backup_rules"> 
    android:hardwareAccelerated="true" 
    android:icon="@mipmap/icon_l" 
    android:label="@string/app_name" 
    android:requiredForAllUsers="true" 
    android:supportsRtl="true" 
    android:theme="@style/MyAppTheme"> 

如果您有一個非常大的清單太容易錯過 - 編譯器不會抱怨。

相關問題