34 votes

Erreur de ressource zz_moto_actionbar_bkg.xml sur Droid

Je suis d'étranges rapports de plantage de Droid X et Droid Pro.

android.content.res.Resources$NotFoundException:
File res/drawable/zz_moto_actionbar_bkg.xml from drawable resource ID #0x10803a8
    at android.content.res.Resources.loadDrawable(Resources.java:1735)
    at android.content.res.Resources.getDrawable(Resources.java:596)
    at android.view.View.setBackgroundResource(View.java:7542)
    at com.android.internal.app.AlertController.setBackground(AlertController.java:719)
    at com.android.internal.app.AlertController.setupView(AlertController.java:424)
    at com.android.internal.app.AlertController.installContent(AlertController.java:232)
    at android.app.AlertDialog.onCreate(AlertDialog.java:251)
    at android.app.Dialog.dispatchOnCreate(Dialog.java:307)
    at android.app.Dialog.show(Dialog.java:225)
    at android.app.AlertDialog$Builder.show(AlertDialog.java:802)
    at com.*******.a(SourceFile:320)
    at com.*******.onOptionsItemSelected(SourceFile:292)
    at android.app.Activity.onMenuItemSelected(Activity.java:2251)
    at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:809)
    at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:143)
    at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:855)
    at com.android.internal.view.menu.IconMenuView.invokeItem(IconMenuView.java:553)
    at com.android.internal.view.menu.IconMenuItemView.performClick(IconMenuItemView.java:122)
    at android.view.View$PerformClick.run(View.java:9089)
    at android.os.Handler.handleCallback(Handler.java:587)
    at android.os.Handler.dispatchMessage(Handler.java:92)
    at android.os.Looper.loop(Looper.java:123)
    at android.app.ActivityThread.main(ActivityThread.java:3806)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:507)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
    at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
    at android.graphics.drawable.LayerDrawable.addLayer(LayerDrawable.java:186)
    at android.graphics.drawable.LayerDrawable.inflate(LayerDrawable.java:157)
    at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:795)
    at android.graphics.drawable.Drawable.createFromXml(Drawable.java:736)
    at android.content.res.Resources.loadDrawable(Resources.java:1732)
    ... 27 more
java.lang.NullPointerException
    at android.graphics.drawable.LayerDrawable.addLayer(LayerDrawable.java:186)
    at android.graphics.drawable.LayerDrawable.inflate(LayerDrawable.java:157)
    at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:795)
    at android.graphics.drawable.Drawable.createFromXml(Drawable.java:736)
    at android.content.res.Resources.loadDrawable(Resources.java:1732)
    at android.content.res.Resources.getDrawable(Resources.java:596)
    at android.view.View.setBackgroundResource(View.java:7542)
    at com.android.internal.app.AlertController.setBackground(AlertController.java:719)
    at com.android.internal.app.AlertController.setupView(AlertController.java:424)
    at com.android.internal.app.AlertController.installContent(AlertController.java:232)
    at android.app.AlertDialog.onCreate(AlertDialog.java:251)
    at android.app.Dialog.dispatchOnCreate(Dialog.java:307)
    at android.app.Dialog.show(Dialog.java:225)
    at android.app.AlertDialog$Builder.show(AlertDialog.java:802)
    at com.*******.a(SourceFile:320)
    at com.*******.onOptionsItemSelected(SourceFile:292)
    at android.app.Activity.onMenuItemSelected(Activity.java:2251)
    at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:809)
    at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:143)
    at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:855)
    at com.android.internal.view.menu.IconMenuView.invokeItem(IconMenuView.java:553)
    at com.android.internal.view.menu.IconMenuItemView.performClick(IconMenuItemView.java:122)
    at android.view.View$PerformClick.run(View.java:9089)
    at android.os.Handler.handleCallback(Handler.java:587)
    at android.os.Handler.dispatchMessage(Handler.java:92)
    at android.os.Looper.loop(Looper.java:123)
    at android.app.ActivityThread.main(ActivityThread.java:3806)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:507)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
    at dalvik.system.NativeStart.main(Native Method)

Il se produit lors du lancement d'un dialogue d'alerte. Bien sûr, je ne suis pas en utilisant toutes les ressources comme ça, et la Seule ressource que j'utilise AlertDialog est android.R.drawable.ic_input_add.

J'ai essayé un peu de recherche sur ce sujet, mais la seule page que j'ai trouvé était https://supportforums.motorola.com/message/513190 et il ne nous aide pas beaucoup.

Quelqu'un d'autre a eu un problème similaire ou trouvé une solution pour cela?

8voto

stuckj Points 475

Nous avons atteint ce même bug, et que, au moins dans notre cas, il s'est avéré être due à cours de mémoire alors qu'une image associée à cette mise en page est en cours de chargement. La mise en page elle-même semble être un certain dépouillement des trucs Motorola est en train de faire pour la boîte de dialogue d'alerte (mon hypothèse). Le seul moyen que j'ai trouvé qu'il était un OutOfMemoryError est que notre testeur qualité généré un bad rapport de bogue, lorsqu'il a frappé le crash et j'ai pu voir la OutOfMemoryError dans le rapport de bogue causé tout en essayant de décoder une image (sur le même thread sur lequel la trace de la pile a été généré).

1voto

user1560231 Points 26

Les téléphones Motorola sont si énervants et peuvent parfois être très légers. Auparavant, l'icône d'emplacement actuel n'apparaissait pas sur la carte google uniquement avec les téléphones motorola. Ils ont résolu le problème de la mise à niveau du SCI, de sorte que tous les efforts et le temps que j'ai consacrés à résoudre le problème ont été résolus. Et maintenant, je rencontre exactement le même problème avec certains utilisateurs lorsque la boîte de dialogue d'alerte est ouverte. Et le pire, c'est que je ne peux pas reproduire cela avec le même téléphone, avec le même système d'exploitation que l'utilisateur a signalé le bogue.

-2voto

Android Points 817

vous essayez ce type de code dans la boîte de dialogue d'alerte

{
myDialog = new Dialog(context);
myDialog.setContentView(R.layout.addfence_dialog);
myDialog.setTitle("EditFence");
myDialog.setCancelable(true);

strTitle = (EditText) myDialog.findViewById(R.id.add_dialog_edtTitle);
strArea = (EditText) myDialog.findViewById(R.id.add_dialog_edtArea);
strDescription = (EditText) myDialog.findViewById(R.id.add_dialog_edtDescription);
strTag = (EditText) myDialog.findViewById(R.id.add_dialog_edtTag);

save = (Button) myDialog.findViewById(R.id.add_dialog_btnSave);
cancel = (Button) myDialog.findViewById(R.id.add_dialog_btnCancel);

strTitle.setText(getTitle);
strArea.setText(getArea);
strDescription.setText(getDesc);
strTag.setText(getTag);

save.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
          .....
}
myDialog.show();
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X