Resources$NotFoundException: Resource ID #0x0. В чём может быть ошибка в коде?

String LoadCity (int ID) {
        //Here the magic starts: we import text file that we need
        int resId = getResources().getIdentifier("c" + Integer.toString(ID), "raw", getPackageName());
        InputStream is = getResources().openRawResource(resId);

        InputStreamReader isr = new InputStreamReader(is);
        BufferedReader buffreader = new BufferedReader(isr);

        String line;
        StringBuilder content = new StringBuilder();
        try {
            while ((line = buffreader.readLine()) != null) {
                content.append(line);
                content.append("\n");
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

        String toSplit = content.toString();
        return toSplit;
    }

04-06 20:42:41.475 23662-23662/com.superprower.aroundtheworld E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.superprower.aroundtheworld/com.superprower.aroundtheworld.gameactivity}: android.content.res.Resources$NotFoundException: Resource ID #0x0
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2245)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2295)
at android.app.ActivityThread.access$700(ActivityThread.java:150)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1280)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5279)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x0
at android.content.res.Resources.getValue(Resources.java:1883)
at android.content.res.Resources.openRawResource(Resources.java:1808)
at android.content.res.Resources.openRawResource(Resources.java:1790)
at com.superprower.aroundtheworld.gameactivity.LoadCity(gameactivity.java:88)
at com.superprower.aroundtheworld.gameactivity.onCreate(gameactivity.java:127)
at android.app.Activity.performCreate(Activity.java:5267)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2209)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2295)
            at android.app.ActivityThread.access$700(ActivityThread.java:150)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1280)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:5279)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
            at dalvik.system.NativeStart.main(Native Method)

Собственно, единственное, что указывает на мой код - это строчки
at com.superprower.aroundtheworld.gameactivity.LoadCity(gameactivity.java:88)
at com.superprower.aroundtheworld.gameactivity.onCreate(gameactivity.java:127)
, где вторая - вызов функции, к которой отправляет ошибка 1.
Вот эта строчка с ошибкой (и строчка, вероятно, связанная с ней):
int resId = getResources().getIdentifier("c" + Integer.toString(ID), "raw", getPackageName()); 
InputStream is = getResources().openRawResource(resId); // Сюда указывает ошибка

В чём может быть проблема? Суть в следующем - из папки raw проекта берётся файл типа cN, где N - номер, и его содержимое преобразуется в строчку, которая и возвращается.
  • Вопрос задан
  • 2522 просмотра
Решения вопроса 1
SuperPrower
@SuperPrower Автор вопроса
В общем, проблема оказалась даже выше, ещё на стадии передачи активности переменной, которая потом передаётся этому методу.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Neuroware
@Neuroware
Программист в свободное от работы время
Дам подсказку Resources$NotFoundException
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы