2015-03-20 2 views
0

Эта проблема действительно раздражает меня, так как я не знаю, что может вызвать ее. У меня есть несколько сообщений об этой ошибке, в основном от устройств Samsung, работающих под управлением Android 2.3.5 и 2.3.6 (98%). Ниже трассировки стека:

android.content.res.Resources$NotFoundException: Resource ID #0x0 
    at android.content.res.Resources.getValue(Resources.java:892) 
    at android.content.res.Resources.getDrawable(Resources.java:580) 
    at android.widget.TextView$HandleView.setOrientation(TextView.java:8355) 
    at android.widget.TextView$HandleView.<init>(TextView.java:8324) 
    at android.widget.TextView$InsertionPointCursorController.<init>(TextView.java:8631) 
    at android.widget.TextView.getInsertionController(TextView.java:9218) 
    at android.widget.TextView.onTouchEvent(TextView.java:7137) 
    at android.view.View.dispatchTouchEvent(View.java:3885) 
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:869) 
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:869) 
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:869) 
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:869) 
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:869) 
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:869) 
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:869) 
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:869) 
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:869) 
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:869) 
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:869) 
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:869) 
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:869) 
    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:869) 
    at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1769) 
    at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1135) 
    at android.app.Activity.dispatchTouchEvent(Activity.java:2096) 
    at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1753) 
    at android.view.ViewRoot.deliverPointerEvent(ViewRoot.java:2227) 
    at android.view.ViewRoot.handleMessage(ViewRoot.java:1886) 
    at android.os.Handler.dispatchMessage(Handler.java:99) 
    at android.os.Looper.loop(Looper.java:130) 
    at android.app.ActivityThread.main(ActivityThread.java:3687) 
    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:867) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625) 
    at dalvik.system.NativeStart.main(Native Method) 

Кто-нибудь есть идея о том, что происходит и как я могу добавить код для того, чтобы точно определить причину?

+0

Кажется, ресурс, который вы пытаетесь сослаться, недоступен – Fahim

+0

Смотрите мой комментарий ниже. Если бы это было так, стек показывал бы линию нарушения. –

+0

Сколько отчетов вы получили? – Blackbelt

ответ

1

Вы пытаетесь установить текст в TextView? Изменить

textview.setText(intValue); 

в

textview.setText(intValue+""); 

Существуют различные версии setText - один принимает строку и один принимает идентификатор ресурса INT. Если вы передадите ему целое число, оно попытается найти соответствующий идентификатор строкового ресурса, который он не может найти, что является вашей ошибкой.

+0

Это не тот случай. Как вы можете видеть, в трассировке стека нет строки моего кода. Только из классов SDK. И я уже проверил весь вызов setText. Обратите внимание, что это происходит только на некоторых устройствах, работающих под управлением 2.3.6. У меня более 1,4 установок приложения. –

+0

Существует так много устройств Android с различными конфигурациями. Поэтому, когда мы не сохраняем ресурсы, специфичные для соответствующей конфигурации соответствующего устройства [drawable-hdpi, values-en, layout-land и т. Д.], Система андроидов смотрит на конфигурации по умолчанию для этого ресурса [drawable, values ​​& layout]. Поэтому рекомендуется оставлять как соответствующие по умолчанию, так и конфигурации конкретные ресурсы в соответствующих местах. –

+0

Хорошо, но тогда действительное значение будет сообщено не # 0. Вы не согласны? –

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