2016-02-18 4 views
-1

J'ai essayé de porter mon application pour soutenir les dispositifs de pré Lollipop et la barre d'action semble être manquante quand je cours l'application sur le dispositif pre L. Il était principalement parce que getActionBar retournait NULL et je pense que des messages que j'ai lu sur le SO, je devais passer à getSupportActionBar(), que je l'ai fait et changé mon activité Splash d'utiliser ce thème:onCreate() throws NULL Pointer exception

<style name="AppTheme" parent="Theme.AppCompat"> 
    <item name="windowNoTitle">true</item> 
    <item name="windowActionBar">false</item> 
    </style> 

Mais quand onCreate(Bundle) obtient invoquaient pour mon activité Splash et setContentView() est appelé, je reçois maintenant l'exception suivante:

02-18 14:38:42.750 27331-27331/com.airwatch.tunnel E/AndroidRuntime: FATAL EXCEPTION: main 
                   java.lang.RuntimeException: Unable to start activity ComponentInfo{com.airwatch.tunnel/com.airwatch.tunnel.ui.activities.SplashActivity}: java.lang.NullPointerException 
                    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211) 
                    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) 
                    at android.app.ActivityThread.access$600(ActivityThread.java:141) 
                    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) 
                    at android.os.Handler.dispatchMessage(Handler.java:99) 
                    at android.os.Looper.loop(Looper.java:137) 
                    at android.app.ActivityThread.main(ActivityThread.java:5103) 
                    at java.lang.reflect.Method.invokeNative(Native Method) 
                    at java.lang.reflect.Method.invoke(Method.java:525) 
                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 
                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
                    at dalvik.system.NativeStart.main(Native Method) 
                    Caused by: java.lang.NullPointerException 
                    at android.support.v7.app.AppCompatDelegateImplV7.applyFixedSizeWindow(AppCompatDelegateImplV7.java:487) 
                    at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:287) 
                    at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:253) 
                    at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109) 

dans un premier temps, je recevais des erreurs comme indiqué dans You need to use a Theme.AppCompat theme (or descendant) with this activity, mais après avoir changé le theme comme décrit ci-dessus, je reçois les accidents ci-dessus. Quelqu'un peut-il donner quelques conseils sur la façon de régler ce problème? Je n'ai rien trouvé de spécifique au problème auquel je suis confronté en ce moment. Merci.

MISE À JOUR:

est inférieure à la configuration du code Java dans onCreate():

@Override 
protected void onCreate(Bundle arg0) { 
    setContentView(R.layout.activity_splash); 
    initViews(); 
    mProfileReadyReceiver.registerReceiver(); 
    super.onCreate(arg0); 
} 
+0

code postal Java: – Harshad

+0

Ajouté le code Java onCreate(). –

+0

Quelqu'un peut-il s'il vous plaît mentionner pourquoi la downvote? N'ai-je pas fourni suffisamment de détails ou n'ai pas effectué suffisamment de recherches avant de poster la question? –

Répondre

2

Remplacer

@Override 
protected void onCreate(Bundle arg0) { 
    setContentView(R.layout.activity_splash); 
    initViews(); 
    mProfileReadyReceiver.registerReceiver(); 
    super.onCreate(arg0); 
} 

Avec

@Override 
protected void onCreate(Bundle arg0) { 
    super.onCreate(arg0); 
    setContentView(R.layout.activity_splash); 
    initViews(); 
    mProfileReadyReceiver.registerReceiver(); 

} 
+0

Merci, cela a fonctionné :) –

0

super devrait être la première ca ll de cette méthode.

Votre méthode devrait ressembler à ceci

@Override 
protected void onCreate(Bundle arg0) { 
    super.onCreate(arg0); 
    setContentView(R.layout.activity_splash); 
    initViews(); 
    mProfileReadyReceiver.registerReceiver(); 
} 
+0

Vous venez de copier collé mon code ici http://stackoverflow.com/a/35477412/5202007 – Tauqir

+0

Comment savez-vous que j'ai copié et collé lorsque la solution est une? Pourquoi ne peut-il pas être une copie de code dans le message et la séquence est modifiée? – Rohit5k2