2014-05-22 31 views
0
<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="net.androidbootcamp.concerttickets2" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="19" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="net.androidbootcamp.concerttickets2.MainActivity" 
      android:theme="@android:style/Theme.Black.NoTitleBar" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 

爲什麼我得到一個錯誤,說我需要使用Theme.AppCompat主題(或後代)與此活動?我試圖在API 19上運行這個。Java Eclipse Theme.AppCompat錯誤

+1

您可以在動作條上的API級別7或更高版本上運行時通過延長\t android.support.v7.app.ActionBarActivity添加到您的活動爲你的活動和活動主題設置Theme.AppCompat或類似的主題。 – betorcs

+0

@betorcs我該怎麼做?它是在Android Manifest選項卡之一還是我在MainActivity.java中編碼? – Dan653

回答

1
<activity 
     android:name="net.androidbootcamp.concerttickets2.MainActivity" <-- If this guy extends ActionBarCompat --> 
     android:theme="@android:style/Theme.Black.NoTitleBar" <!-- Then, android:theme must extends Theme.AppCompat --> 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

如果你不需要動作條(NoTitleBar),只是改變你的類使用Activity

public class MainActivity extends Activity { // Instead of extends ActionBarCompat 

} 

但是如果你想使用ActionBarCompat,所以創建擴展Theme.AppCompat

的自定義主題

例如:

public class MyActivityWithActionBarCompat extends ActionBarActivity { 


} 

/RES /值/ style.xml

<style name="AppTheme" parent="@style/Theme.AppCompat"> 
</style> 

清單

<activity 
     android:name=".MyActivityWithActionBarCompat" 
     android:theme="@style/AppTheme" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
+0

似乎複製粘貼解決方案總是告訴人們問題是什麼,然後讓他們去RTFM ... –

0

您需要使用從Theme.AppCompat延伸的主題。這是使用AppCompat庫時的要求。

有關使用AppCompat主題設計ActionBar的更多信息here

+0

你怎麼知道一個主題是否從Theme.AppCompat擴展而來?而且它也是使用AppCompat的必要條件,它有什麼作用? – Dan653

+0

通常,dev是定義'Theme'的開發者,並且您使用其中一個'AppCompat'主題作爲其父項。 ('parent =「@ style/Theme.AppCompat」') –