2016-02-18 3 views
-1

Я пытаюсь выполнить перенос приложения для поддержки предустановленных устройств Lollipop, и панель действий кажется отсутствующей при запуске приложения на устройстве pre L. Это было главным образом потому, что getActionBar возвращается NULL, и я думаю, что из постов я прочитал на SO, я должен был перейти на getSupportActionBar(), который я сделал, и изменил мою Всплеск активность использовать эту тему:onCreate() выбрасывает исключение NULL Pointer

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

Но когда onCreate(Bundle) получает вызывается для моего Всплеск активности и setContentView() называется, теперь я получаю следующее исключение:

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) 

Изначально я получаю ошибки, которые перечислены в You need to use a Theme.AppCompat theme (or descendant) with this activity, но после того, как я изменил theme, как описано выше, я получаю вышеописанные сбои. Может кто-нибудь, пожалуйста, укажите некоторые рекомендации о том, как это исправить? Я не мог найти ничего конкретного для проблемы, с которой я сейчас сталкиваюсь. Благодарю.

UPDATE:

Ниже приведен код установки Java в OnCreate():

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

код Java пост: – Harshad

+0

Добавлена ​​OnCreate() Java-кода. –

+0

Может кто-нибудь, пожалуйста, укажите, почему downvote? Разве я не предоставлял достаточно подробностей или не проводил достаточно исследований, прежде чем публиковать вопрос? –

ответ

2

Заменить

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

С

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

} 
+0

Спасибо, это сработало :) –

0

super должен быть первым ча из этого метода.

Ваш метод должен выглядеть следующим образом

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

Вы только что скопировали мой код здесь http://stackoverflow.com/a/35477412/5202007 – Tauqir

+0

Откуда вы знаете, что я скопировал и вставил, когда решение одно? Почему не может быть копия кода в сообщении и последовательность изменений? – Rohit5k2

Смежные вопросы