2012-08-03 51 views
3

我開始我的第二個活動後,沒有ActionBar。當我調用GetSupportActivity時,它返回null。爲什麼?我的minSdkVersion 10 targetSdkVersion 15GetSupportActionBar返回null

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.test.myapp" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="10" 
     android:targetSdkVersion="15" 
     /> 
    <uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/Theme.Sherlock.Light" 
     > 
     <activity 
      android:name=".MainActivity" 
      android:label="@string/title_activity_main" 
      android:windowSoftInputMode="stateHidden" 
      > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".ShowMusic2" 
      android:label="Search Results"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 

這是我的第二個活動(ShowMusic2)的OnCreate中。它是一個ListActivity。

public class ShowMusic2 extends SherlockListActivity { 
     @Override 
     public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

     showMusic = getIntent(); 
     pkgName = getPackageName(); 
     html = (String)showMusic.getStringExtra(pkgName + ".html");  
     new populateListView().execute(songs.toArray(new Song[songs.size()])); 
     adapter =new SongAdapter(this,R.layout.list_item1, songs.toArray(new Song[songs.size()])); 
     setListAdapter(adapter); 
    } 

回答

5

我還沒有與SherlockListActivity玩耍了太多...但這裏是一個在黑暗中拍攝....嘗試移動

getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

到你的OnStart方法,而不是覆蓋的OnCreate

+0

它的工作原理:D謝謝 – 2012-08-03 20:46:30

+0

hooray!樂意效勞! :) – petey 2012-08-03 20:47:08

5

問題getSupportActionBar()總是返回NULL 這是因爲您在AndroidManifest.xml中設置主題NoActionBar

Theme.Sherlock.Light.No ActionBar

如果您的應用程序不使用操作欄,則不需要使用該方法。

+0

這對我來說是一個很好的提示,謝謝。我已經設置了禁用ActionBar(在幾個地方)。 – Booger 2013-11-20 23:42:54