6

Il mio progetto stava funzionando bene appena prima di essere aggiornato al supporto di progettazione Android 22.2.1, dopo che ho aggiornato ed eseguito il programma ottengo il seguente errore. L'eccezione non indica quale riga in codice o il file java sta causando l'errore, quindi non so quale codice da inviare. Sembra un errore interno del supporto della progettazione Android.Ottenere l'eccezione Nullpointer dopo l'aggiornamento al supporto di progettazione Android 22.2.1

La mia attività si sta estendendo AppCompatActivity e il mio dispositivo di prova API 15 (Android 4.04).

Sto usando NavigationView e DrawerLayout nel mio codice.

mio build.gradle

android { 
compileSdkVersion 22 
buildToolsVersion "22.0.1" 

defaultConfig { 
    applicationId "com.stackoverflow.ranjith.androidprojdel" 
    minSdkVersion 15 
    targetSdkVersion 22 
    versionCode 1 
    versionName "1.0" 
    multiDexEnabled true 
} 

dependencies { 
compile fileTree(dir: 'libs', include: ['*.jar']) 
compile 'com.android.support:appcompat-v7:22.2.+' 
compile 'com.parse.bolts:bolts-android:1.+' 
compile 'com.android.support:cardview-v7:22.2.+' 
compile 'com.android.support:recyclerview-v7:22.2.+' 
compile 'com.google.android.gms:play-services-plus:7.5.0' 
compile 'com.google.android.gms:play-services-ads:7.5.0' 
compile 'com.android.support:design:22.2.+' 
compile 'joda-time:joda-time:2.8.1' 
} 

Eccezione:

07-19 00:52:49.338: E/AndroidRuntime(15556): FATAL EXCEPTION: main 
07-19 00:52:49.338: E/AndroidRuntime(15556): java.lang.NullPointerException 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.support.design.internal.NavigationMenuItemView.setIcon(NavigationMenuItemView.java:113) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.support.design.internal.NavigationMenuItemView.initialize(NavigationMenuItemView.java:72) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.support.design.internal.NavigationMenuPresenter$NavigationMenuAdapter.getView(NavigationMenuPresenter.java:305) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.widget.HeaderViewListAdapter.getView(HeaderViewListAdapter.java:220) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.widget.AbsListView.obtainView(AbsListView.java:2045) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.widget.ListView.makeAndAddView(ListView.java:1772) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.widget.ListView.fillDown(ListView.java:672) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.widget.ListView.fillFromTop(ListView.java:732) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.widget.ListView.layoutChildren(ListView.java:1625) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.widget.AbsListView.onLayout(AbsListView.java:1875) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.view.View.layout(View.java:11390) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.view.ViewGroup.layout(ViewGroup.java:4332) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.widget.FrameLayout.onLayout(FrameLayout.java:444) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.view.View.layout(View.java:11390) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.view.ViewGroup.layout(ViewGroup.java:4332) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:931) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.view.View.layout(View.java:11390) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.view.ViewGroup.layout(ViewGroup.java:4332) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.widget.FrameLayout.onLayout(FrameLayout.java:444) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.view.View.layout(View.java:11390) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.view.ViewGroup.layout(ViewGroup.java:4332) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1653) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1511) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.widget.LinearLayout.onLayout(LinearLayout.java:1416) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.view.View.layout(View.java:11390) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.view.ViewGroup.layout(ViewGroup.java:4332) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.widget.FrameLayout.onLayout(FrameLayout.java:444) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.view.View.layout(View.java:11390) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.view.ViewGroup.layout(ViewGroup.java:4332) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1653) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1511) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.widget.LinearLayout.onLayout(LinearLayout.java:1416) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.view.View.layout(View.java:11390) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.view.ViewGroup.layout(ViewGroup.java:4332) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.widget.FrameLayout.onLayout(FrameLayout.java:444) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.view.View.layout(View.java:11390) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.view.ViewGroup.layout(ViewGroup.java:4332) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1490) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2455) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.os.Handler.dispatchMessage(Handler.java:99) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.os.Looper.loop(Looper.java:137) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at android.app.ActivityThread.main(ActivityThread.java:4424) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at java.lang.reflect.Method.invokeNative(Native Method) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at java.lang.reflect.Method.invoke(Method.java:511) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:817) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584) 
07-19 00:52:49.338: E/AndroidRuntime(15556): at dalvik.system.NativeStart.main(Native Method) 

Aggiornamento

Quando ho rollback per 22.2.0 l'errore scompare, non so cosa sia il problema.

+0

L'aggiornamento 22.2.1 è stato rilasciato? – Eenvincible

+0

@Evincibile sì, ieri: https://plus.google.com/+AndroidDevelopers/posts/XTtNCPviwpj – Mikhail

+0

Sì ... anche con i nuovi problemi. La scorsa settimana ho affrontato diversi problemi quando ho aggiornato la nuova libreria e ora ho nuovi problemi. – Psypher

risposta

8

Il problema è correlato al menu NavigationView xml.

miniera di simile a questa:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
      android:id="@+id/navigation_subheader" 
      android:title="Titulo"> 
     <menu> 
      <item 
        android:id="@+id/navigation_sub_item_1" 
        android:icon="@drawable/abc_btn_radio_material" 
        android:title="sub-1"/> 
      <item 
        android:id="@+id/navigation_sub_item_2" 
        android:icon="@drawable/abc_btn_rating_star_on_mtrl_alpha" 
        android:title="sub-2"/> 
     </menu> 
    </item> 
</menu> 

ma se posso passare a un'icona drawable progetto, la sua fissa:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
      android:id="@+id/navigation_subheader" 
      android:title="Titulo"> 
     <menu> 
      <item 
        android:id="@+id/navigation_sub_item_1" 
       ----> android:icon="@drawable/some_local_drawable" 
        android:title="sub-1"/> 
      <item 
        android:id="@+id/navigation_sub_item_2" 
       ----> android:icon="@drawable/some_local_drawable" 
        android:title="sub-2"/> 
     </menu> 
    </item> 
</menu> 

Naturalmente, questo accade dopo l'aggiornamento a 22.2.1

+0

Lasciami provare. +1 per la risposta. – Psypher

+0

Questo funziona ... Grazie. Aspetterò il prossimo aggiornamento e i problemi relativi all'aggiornamento :) – Psypher

+2

Non dovresti mai usare le icone 'abc_'. Fornisci sempre il tuo, quelli sono a parte la biblioteca. –

0

Ho avuto lo stesso problema ed è stato in grado di evitarlo con questo codice:

View header = LayoutInflater.from(this).inflate(R.layout.nav_header_main, null); 
navigationView.addHeaderView(header); 
TextView text = (TextView) header.findViewById(R.id.textView); 
texto.setText("HELLO"); 
Problemi correlati