2012-08-03 52 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