2012-10-06 5 views
2

J'essaie de cacher ma barre d'action. S'il vous plaît vérifier sur mes codes. Cela ne semble pas fonctionner. J'ai aussi ma liste LOGCAT au bas de mes codes. S'il vous plaît aider.Android masquant ActionBar

MainActivity.java

public class MainActivity extends SherlockFragmentActivity { 

     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      requestWindowFeature(Window.FEATURE_NO_TITLE); 
      super.onCreate(savedInstanceState); 

      ActionBar actionBar = getSupportActionBar(); 
      actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

      actionBar.setDisplayShowTitleEnabled(true); 

      Tab tab = actionBar.newTab() 
           .setText("Android") 
           .setTabListener(new AndroidFragment()) 
           .setIcon(R.drawable.android); 

      actionBar.addTab(tab); 

      tab = actionBar.newTab() 
        .setText("Apple") 
        .setTabListener(new AppleFragment()) 
        .setIcon(R.drawable.apple); 

      actionBar.addTab(tab); 


     } 

    } 

LogCat:

10-06 18:17:25.781: E/AndroidRuntime(15962): FATAL EXCEPTION: main 
10-06 18:17:25.781: E/AndroidRuntime(15962): java.lang.RuntimeException: Unable to start activity ComponentInfo{in.wptrafficanalyzer.actionbarsherlocknavtab/in.wptrafficanalyzer.actionbarsherlocknavtab.MainActivity}: java.lang.NullPointerException 
10-06 18:17:25.781: E/AndroidRuntime(15962): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1970) 
10-06 18:17:25.781: E/AndroidRuntime(15962): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995) 
10-06 18:17:25.781: E/AndroidRuntime(15962): at android.app.ActivityThread.access$600(ActivityThread.java:127) 
10-06 18:17:25.781: E/AndroidRuntime(15962): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1161) 
10-06 18:17:25.781: E/AndroidRuntime(15962): at android.os.Handler.dispatchMessage(Handler.java:99) 
10-06 18:17:25.781: E/AndroidRuntime(15962): at android.os.Looper.loop(Looper.java:137) 
10-06 18:17:25.781: E/AndroidRuntime(15962): at android.app.ActivityThread.main(ActivityThread.java:4512) 
10-06 18:17:25.781: E/AndroidRuntime(15962): at java.lang.reflect.Method.invokeNative(Native Method) 
10-06 18:17:25.781: E/AndroidRuntime(15962): at java.lang.reflect.Method.invoke(Method.java:511) 
10-06 18:17:25.781: E/AndroidRuntime(15962): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:982) 
10-06 18:17:25.781: E/AndroidRuntime(15962): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:749) 
10-06 18:17:25.781: E/AndroidRuntime(15962): at dalvik.system.NativeStart.main(Native Method) 
10-06 18:17:25.781: E/AndroidRuntime(15962): Caused by: java.lang.NullPointerException 
10-06 18:17:25.781: E/AndroidRuntime(15962): at in.wptrafficanalyzer.actionbarsherlocknavtab.MainActivity.onCreate(MainActivity.java:19) 
10-06 18:17:25.781: E/AndroidRuntime(15962): at android.app.Activity.performCreate(Activity.java:4465) 
10-06 18:17:25.781: E/AndroidRuntime(15962): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1052) 
10-06 18:17:25.781: E/AndroidRuntime(15962): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1934) 
10-06 18:17:25.781: E/AndroidRuntime(15962): ... 11 more 
+7

Si vous essayez de cacher la barre d'action, pourquoi ne pas simplement appeler actionBar.hide(); ? – Andrei

Répondre

9

Eh bien, si vous utilisez l'objet requestWindowFeature(Window.FEATURE_NO_TITLE);ActionBar vous avez lu trois lignes après null. Ainsi le NPE.

Mais pourquoi cachez-vous l'ActionBar de cette manière et puis obtenez l'objet et définissez des onglets et autres joyeusetés dans un ActionBar invisible?

Voir aussi le commentaire de Andrei à votre question.