11

Sono stato bloccato su questo, ho controllato la guida ufficiale, ecc. Eventuali tutorial/quali sono i passaggi per passare da ActionBar a ActionBarCompat (per Toolbar e supporto di versioni precedenti? Ho importato appcompat-v7: 21.0. +, provatoAndroid: Come/Tutorial per modificare ActionBar in ActionBarCompat (barra degli strumenti)?

getSupportActionBar(); e

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_actionbar); 

setSupportActionBar(toolbar); 

cambiato tema per AppCompat tema in stili ... Tutti gli errori comuni di nota o idee

Continuo a ricevere questo tipo di errore:?

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.battery.plusfree/com.battery.plusfree.MainCollectionActivity}: java.lang.NullPointerException 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2212) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2271) 
     at android.app.ActivityThread.access$800(ActivityThread.java:144) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:136) 
     at android.app.ActivityThread.main(ActivityThread.java:5146) 
     at java.lang.reflect.Method.invokeNative(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:515) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:732) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:566) 
     at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132) 
     at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.lang.NullPointerException 
     at com.battery.plusfree.MainCollectionActivity.onCreate(MainCollectionActivity.java:133) 
     at android.app.Activity.performCreate(Activity.java:5231) 
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2169) 
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2271) 
            at android.app.ActivityThread.access$800(ActivityThread.java:144) 
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205) 
            at android.os.Handler.dispatchMessage(Handler.java:102) 
            at android.os.Looper.loop(Looper.java:136) 
            at android.app.ActivityThread.main(ActivityThread.java:5146) 
            at java.lang.reflect.Method.invokeNative(Native Method) 
            at java.lang.reflect.Method.invoke(Method.java:515) 
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:732) 
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:566) 
            at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132) 
            at dalvik.system.NativeStart.main(Native Method) 
+1

Un buon punto di partenza: https: //github.com/kanytu/android-material-drawer-template –

+0

post ur MainColelctionActivity –

+1

Pubblica la tua attività e il layout. È necessario leggere su Toolbar: http://android-developers.blogspot.it/2014/10/appcompat-v21-material-design-for-pre.html –

risposta

13

Ho appreso con la mia applicazione che non è possibile utilizzare la barra degli strumenti e la barra di azione contemporaneamente. In modo che potrebbe essere dove il problema si trova, ma non sono sicuro perché non hai pubblicare il tuo codice, ma utilizzando il file styles.xml è necessario specificare uno o in questo modo:

<style name="AppTheme.Base" parent="Theme.AppCompat"> 
    <item name="colorPrimary">@color/mycolorprimary</item> 
    <item name="colorPrimaryDark">@color/mycolorprimarydark</item> 
    <item name="android:windowNoTitle">true</item> 
    <item name="windowActionBar">false</item> 
</style> 

Activity.xml :

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:custom="http://schemas.android.com/apk/res-auto" 
    android:orientation="vertical" android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <!-- dont use this if you only want to use the actionbar instead --> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_height="wrap_content" 
     android:layout_width="match_parent" 
     android:elevation="5dp" 
     android:minHeight="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" /> 

</LinearLayout> 

Activity.java:

public class MyActivity extends ActionBarActivity { 

     Toolbar mToolbar; 

     public void onCreate(Bundle savedInstanceState) { 

      // configure toolbar stuff 
      setSupportActionBar(mToolbar); 

      // or if you don't want to use the toolbar 
      // then change the style values accordingly 
      // and then you can run getSupportActionBar() instead 

     } 

    } 

Riferimento: here .. spero che questo aiuti!

+0

Errore. setSupportActionBar non viene mostrato quando ctrl + spazio nel frammento. I frammenti –

+0

@KarthikeyanVe non hanno né un 'ActionBar' né una 'Toolbar'. Ho capito che l'hai già trovato tramite una semplice ricerca su Google. – Sufian

4

@ Andrew Butler: buona risposta, anche se esiste un modo standard per non utilizzare una barra delle azioni.

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar"> 
    <!-- Customize your theme here.> 
</style> 

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <!-- Customize your theme here.> 
</style> 
1

Imposta il genitore del tema su uno senza barra delle azioni. Ad esempio

<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="colorPrimary">@color/mycolorprimary</item> 
    <item name="colorPrimaryDark">@color/mycolorprimarydark</item> 
    <item name="android:windowNoTitle">true</item> 
</style> 

Non ci sarebbe più bisogno di impostare windowActionBar su false.