2013-04-19 3 views
6

Ich habe meine Fehlerberichte überprüft und von Zeit zu Zeit erhalten wir diesen Fehlerbericht von unserer App. Ich kann nicht pint zeigen, was das eigentliche Problem ist. Diese Ressource existiert, die meisten Geräte funktionieren gut, aber einige spezifische Geräte wie LG-E510 oder U8815 können diese Ressource nicht laden.

Irgendwelche Ideen?

android.content.res.Resources$NotFoundException: File res/drawable-xhdpi/action_bar_search_icon.png from drawable resource ID #0x7f02007f 
at android.content.res.Resources.loadDrawable(Resources.java:1714) 
at android.content.res.Resources.getDrawable(Resources.java:581) 
at com.actionbarsherlock.internal.view.menu.MenuItemImpl.getIcon(MenuItemImpl.java:384) 
at com.actionbarsherlock.internal.view.menu.ActionMenuItemView.initialize(ActionMenuItemView.java:128) 
at com.actionbarsherlock.internal.view.menu.ActionMenuPresenter.bindItemView(ActionMenuPresenter.java:192) 
at com.actionbarsherlock.internal.view.menu.BaseMenuPresenter.getItemView(BaseMenuPresenter.java:176) 
at com.actionbarsherlock.internal.view.menu.ActionMenuPresenter.getItemView(ActionMenuPresenter.java:178) 
+0

ist diese Ressource existieren in ziehbar-xhdpi Ordner, weil wir die Ressourcen entsprechend ihrer Auflösung zu setzen haben, bedeutet niedrige Geräte Ressourcen aus LDPI Ordner und Medium verwenden wird von mdpi und so weiter ... also zuerst einmal prüfen, ob das re Quelle ist im entsprechenden Ordner vorhanden. – Ajit

+0

Oder setzen Sie Ihre Ressource in den Standard-Drawable-Ordner, so dass das System wählen wird, wenn nichts angebracht ist. – vinoth

+0

Gut Geräte sind in der Lage, Ressourcen von XHDPI zu jeder Stadt, die sie benötigen, zu verkleinern. Das ist also nicht das Problem. –

Antwort

7

Wenn das Telefon/die Registerkarte auf das xhdpi-Verzeichnis zugreift, erwarten wir, dass es das Bild entsprechend skaliert, damit es auf den Bildschirm passt. Daher erwarten wir, dass, wenn die Ressource in einem der Verzeichnisse vorhanden ist, wir nie eine ResourceNotFound-Ausnahme sehen werden. ABER:

xhdpi nur in Android SDK 8 eingeführt wurde, so dass, wenn Sie SDK Ziel 7 und früher können Sie Probleme:

Only use XHDPI drawables in Android app?

Ein weiterer Grund, warum Android nicht in der Lage sein, die xhdpi zugreifen Verzeichnis ist, wenn das Gerät im Bildschirm Kompatibilitätsmodus ausgeführt wird:

Android - Extra large images placed in res/drawable-xhdpi aren't showing on tablet emulator, why?

Ein weiterer möglicher Grund ist, wenn Ihr ziehbar sehr klein ist und eine seiner Dimensionen

Android resource not found because of width and height

Schließlich ist es möglich, dass einige OEM-Versionen von Android implementieren können dies in einer Nicht-Standard-Weise (zB „Verbesserung der Leistung“ durch nicht die Suche im xhdpi: auf Null als Ergebnis der Skalierung gerundet Verzeichnis, wenn ihr Gerät ist hdpi):

Android Drawable hdpi xhdpi mdpi ldpi concept

-1

Sie sollten Ihre Zeichen im Ordner hdpi behalten. Da die Telefone, auf denen sie nicht funktioniert, weniger Pixel haben, können sie das Bild nicht zeigen. Verschieben Sie einfach die Dateien.

Bearbeiten: Sie haben weniger Pixel, weil sie eine kleinere Bildschirmgröße haben.

Verwandte Themen