item.getIcon () SIEMPRE NULL

Me topé con este tutorial sobre las notificaciones en la aplicación en el ActionBar.

http://www.jmhend.me/layerdrawable-menuitems

Todo lo que obtengo es NullPointer dentro de android.graphics.drawable.LayerDrawable al llamar a item.getIcon () en la línea mencionada en este registro: http://pastebin.com/udKPtUzB

Creo que podría tener algo que ver con la versión de la API de Android, pero no puedo encontrar una solución, ya que no puedo averiguar lo que está volviendo "nulo".

Debo mencionar esto no sucede en el inicio de la aplicación. Sólo sucede cuando intento actualizar el dibujable para mostrar un recuento.

He llegado a averiguar esto se debe a item.getIcon() que debe devolver el Drawable del elemento de menú. Pero siempre es nulo durante el tiempo de ejecución. (no inicio, sin embargo)

 public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) { com.actionbarsherlock.view.MenuInflater inflater = getSupportMenuInflater(); inflater.inflate(R.menu.main, menu); menu.findItem(R.id.action_list).setIcon( new IconDrawable(this, IconValue.fa_list).colorRes( android.R.color.black).actionBarSize() ); com.actionbarsherlock.view.MenuItem item = menu.findItem(R.id.action_users); LayerDrawable icon; if (item.getIcon() != null) { icon = (LayerDrawable) item.getIcon(); // Update LayerDrawable's BadgeDrawable setBadgeCount(MainActivity.this, icon, privateMsgNotificationCount); } else { } return true; } 

NPE en if(item.getIcon()!=null) ahora. La condición nunca se prueba porque getIcon () causa NPE como en el registro de pastebin mencionado arriba.

NOTA: Después de 12 horas de pruebas todo lo que puedo decir con certeza es que siempre que setIcon () del MenuItem como un LayerDrawable, getIcon () es null. Si me setIcon () a cualquier otro tipo de drawable el sistema recordará el MenuItem es dibujable y getIcon no es nulo. Estoy confundido…

  • Android: NullPointerException en la vista web
  • AQuery (Android Query) Cómo cargar imágenes en realidad
  • Excepción de puntero nulo de TimePicker al pulsar los botones más o menos
  • Puntero nulo Excepción - findViewById ()
  • No se puede instanciar la base de datos ORM de Sugar
  • Android.app.Application no se puede instanciar debido a NullPointerException
  • Aplicaciones se bloquea después de la ofuscación con ProGuard
  • Unidad de pruebas NPE, cuando agrego fragmento transiciones personalizadas
  • ¿Qué es una NullPointerException y cómo puedo solucionarlo?
  • Cambiar el índice de la pestaña de fragmentos con pestañas mediante programación
  • Java.lang.NullPointerException en el paquete extras = data.getExtras ();
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.