Java 从Drawable imageResource导入图像异常

Java 从Drawable imageResource导入图像异常,java,android,drawable,android-drawable,Java,Android,Drawable,Android Drawable,在尝试在stackoverflow上查找它之后,我没有发现我想问 我创建了一个func,它将从我的Drawable文件夹导入一个图像,并将其显示在Imageview上。(我的db有218张图片,全部按ID从0排序) 代码:(之后我将解释问题) 当imageResource归零时,我得到了一个致命的异常,我不知道为什么。 我没有找到从drawable导入图像的其他方法。 结论: 为什么imageResource归零希望你能帮我弄清楚 数据库(ID 0): OnCreat: protected vo

在尝试在stackoverflow上查找它之后,我没有发现我想问

我创建了一个func,它将从我的Drawable文件夹导入一个图像,并将其显示在Imageview上。(我的db有218张图片,全部按ID从0排序)

代码:(之后我将解释问题)

当imageResource归零时,我得到了一个致命的异常,我不知道为什么。 我没有找到从drawable导入图像的其他方法。 结论: 为什么imageResource归零希望你能帮我弄清楚

数据库(ID 0):

OnCreat

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_second);

    ActionBar actionBar = getActionBar();// הכנסת פעולה ל ActionBar
    actionBar.setDisplayHomeAsUpEnabled(true);
    score =(TextView)findViewById(R.id.score); // הגדרת כפתורים ושדות טקסטד
    scorenum =(TextView)findViewById(R.id.scorenum);
    scorenum.setText(String.valueOf(s.score));
    guess =(TextView)findViewById(R.id.guesses);
    numOfGuess=(TextView)findViewById(R.id.numOfGuesses);
    numOfGuess.setText(String.valueOf(Guesses.numOfGuesses));
    hint =(Button)findViewById(R.id.hint);
    hint.setOnClickListener(hintOnClickListener);
    mpHint = MediaPlayer.create(this,R.raw.hint_sound); // הגדרת סאונדים
    mpNext = MediaPlayer.create(this, R.raw.next_flag);
    mpWrong = MediaPlayer.create(this, R.raw.wrong_answer);
    animationfadein = AnimationUtils.loadAnimation(this, R.anim.fade_in);// הגדרת  אנימציות 
    animationfadeout = AnimationUtils.loadAnimation(this, R.anim.fade_out);

    Flags f = new Flags();
    Random r = new Random();//הדגל שיבחר לשאלה
    int num = r.nextInt(160);//Up

    f = db.getFlag(num);//הצגת הדגל הרנדומלי שיצא
    fn = f.getName().toString();
    pic = f.getImage().toString();
    pic_view(pic);//מעבר לפונקציה להשמת התמונה של הדגל במשחק

    //מערך ארבע כפתורים כנגד ארבע תשובות

    b[0] = (Button)findViewById(R.id.button1);
    b[1] = (Button)findViewById(R.id.button2);
    b[2] = (Button)findViewById(R.id.button3);
    b[3] = (Button)findViewById(R.id.button4);

    List<String>Answers=new ArrayList<String>();//מערך תשובות

    Answers.add(f.getName().toString());//הוספת התשובה הנכונה
    for(int i=1;i<4;i++)
    {
        num = r.nextInt(200);
        String valToAdd1 = db.getFlag(num).getName().toString();
        if(!Answers.contains(valToAdd1)/*&&!valToAdd1.equals("Button")*/){
            WrongAnswers.add(valToAdd1);
            Answers.add(valToAdd1);
        }

    }

    /*if(WrongAnswers.size()<2){

    }*/

    Collections.shuffle(Answers);//ערבוב התשובות

    for(int i=0;i<Answers.size();i++)
    {
        b[i].setText(Answers.get(i));//השמת התשובות מהמהערך למערך הכפתורים
        b[i].startAnimation(animationfadein);
    }
}//end of OnCreat
Javadoc for

public int getIdentifier (String name, String defType, String defPackage)
说:

返回关联的资源标识符。如果未找到此类资源,则返回0。(0不是有效的资源ID。)


这意味着存储在数据库中的某些
drawable
名称不正确,并且与
drawable
文件夹中的真实名称不一致。请核实这些名字

pic2的值是多少?@GaurawYadav输出的标志pic=f.getImage().toString();非常感谢,我会的
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_second);

    ActionBar actionBar = getActionBar();// הכנסת פעולה ל ActionBar
    actionBar.setDisplayHomeAsUpEnabled(true);
    score =(TextView)findViewById(R.id.score); // הגדרת כפתורים ושדות טקסטד
    scorenum =(TextView)findViewById(R.id.scorenum);
    scorenum.setText(String.valueOf(s.score));
    guess =(TextView)findViewById(R.id.guesses);
    numOfGuess=(TextView)findViewById(R.id.numOfGuesses);
    numOfGuess.setText(String.valueOf(Guesses.numOfGuesses));
    hint =(Button)findViewById(R.id.hint);
    hint.setOnClickListener(hintOnClickListener);
    mpHint = MediaPlayer.create(this,R.raw.hint_sound); // הגדרת סאונדים
    mpNext = MediaPlayer.create(this, R.raw.next_flag);
    mpWrong = MediaPlayer.create(this, R.raw.wrong_answer);
    animationfadein = AnimationUtils.loadAnimation(this, R.anim.fade_in);// הגדרת  אנימציות 
    animationfadeout = AnimationUtils.loadAnimation(this, R.anim.fade_out);

    Flags f = new Flags();
    Random r = new Random();//הדגל שיבחר לשאלה
    int num = r.nextInt(160);//Up

    f = db.getFlag(num);//הצגת הדגל הרנדומלי שיצא
    fn = f.getName().toString();
    pic = f.getImage().toString();
    pic_view(pic);//מעבר לפונקציה להשמת התמונה של הדגל במשחק

    //מערך ארבע כפתורים כנגד ארבע תשובות

    b[0] = (Button)findViewById(R.id.button1);
    b[1] = (Button)findViewById(R.id.button2);
    b[2] = (Button)findViewById(R.id.button3);
    b[3] = (Button)findViewById(R.id.button4);

    List<String>Answers=new ArrayList<String>();//מערך תשובות

    Answers.add(f.getName().toString());//הוספת התשובה הנכונה
    for(int i=1;i<4;i++)
    {
        num = r.nextInt(200);
        String valToAdd1 = db.getFlag(num).getName().toString();
        if(!Answers.contains(valToAdd1)/*&&!valToAdd1.equals("Button")*/){
            WrongAnswers.add(valToAdd1);
            Answers.add(valToAdd1);
        }

    }

    /*if(WrongAnswers.size()<2){

    }*/

    Collections.shuffle(Answers);//ערבוב התשובות

    for(int i=0;i<Answers.size();i++)
    {
        b[i].setText(Answers.get(i));//השמת התשובות מהמהערך למערך הכפתורים
        b[i].startAnimation(animationfadein);
    }
}//end of OnCreat
04-25 21:21:44.420: D/Result from pic function(16327): burkina
04-25 21:21:44.420: D/Imageresources(16327): 0
04-25 21:21:44.420: W/ResourceType(16327): No package identifier when getting value for resource number 0x00000000
04-25 21:21:44.420: E/ActivityThread(16327): Failed to find resource
04-25 21:21:44.420: E/ActivityThread(16327): android.content.res.Resources$NotFoundException: Resource ID #0x0
04-25 21:21:44.420: E/ActivityThread(16327):    at android.content.res.Resources.getValue(Resources.java:1195)
04-25 21:21:44.420: E/ActivityThread(16327):    at android.content.res.Resources.getDrawable(Resources.java:729)
04-25 21:21:44.420: E/ActivityThread(16327):    at android.content.res.Resources.getDrawable(Resources.java:711)
04-25 21:21:44.420: E/ActivityThread(16327):    at com.example.flagsgame.ClassicMode.pic_view(ClassicMode.java:221)
04-25 21:21:44.420: E/ActivityThread(16327):    at com.example.flagsgame.ClassicMode.onCreate(ClassicMode.java:82)
04-25 21:21:44.420: E/ActivityThread(16327):    at android.app.Activity.performCreate(Activity.java:5231)
04-25 21:21:44.420: E/ActivityThread(16327):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
04-25 21:21:44.420: E/ActivityThread(16327):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2169)
04-25 21:21:44.420: E/ActivityThread(16327):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2271)
04-25 21:21:44.420: E/ActivityThread(16327):    at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3762)
04-25 21:21:44.420: E/ActivityThread(16327):    at android.app.ActivityThread.access$900(ActivityThread.java:144)
04-25 21:21:44.420: E/ActivityThread(16327):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1211)
04-25 21:21:44.420: E/ActivityThread(16327):    at android.os.Handler.dispatchMessage(Handler.java:102)
04-25 21:21:44.420: E/ActivityThread(16327):    at android.os.Looper.loop(Looper.java:136)
04-25 21:21:44.420: E/ActivityThread(16327):    at android.app.ActivityThread.main(ActivityThread.java:5146)
04-25 21:21:44.420: E/ActivityThread(16327):    at java.lang.reflect.Method.invokeNative(Native Method)
04-25 21:21:44.420: E/ActivityThread(16327):    at java.lang.reflect.Method.invoke(Method.java:515)
04-25 21:21:44.420: E/ActivityThread(16327):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:796)
04-25 21:21:44.420: E/ActivityThread(16327):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612)
04-25 21:21:44.420: E/ActivityThread(16327):    at dalvik.system.NativeStart.main(Native Method)
04-25 21:21:44.420: D/AndroidRuntime(16327): Shutting down VM
04-25 21:21:44.420: W/dalvikvm(16327): threadid=1: thread exiting with uncaught exception (group=0x41aeedb8)
04-25 21:21:44.440: E/AndroidRuntime(16327): FATAL EXCEPTION: main
04-25 21:21:44.440: E/AndroidRuntime(16327): Process: com.example.flagsgame, PID: 16327
04-25 21:21:44.440: E/AndroidRuntime(16327): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.flagsgame/com.example.flagsgame.ClassicMode}: android.content.res.Resources$NotFoundException: Resource ID #0x0
04-25 21:21:44.440: E/AndroidRuntime(16327):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2212)
04-25 21:21:44.440: E/AndroidRuntime(16327):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2271)
04-25 21:21:44.440: E/AndroidRuntime(16327):    at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3762)
04-25 21:21:44.440: E/AndroidRuntime(16327):    at android.app.ActivityThread.access$900(ActivityThread.java:144)
04-25 21:21:44.440: E/AndroidRuntime(16327):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1211)
04-25 21:21:44.440: E/AndroidRuntime(16327):    at android.os.Handler.dispatchMessage(Handler.java:102)
04-25 21:21:44.440: E/AndroidRuntime(16327):    at android.os.Looper.loop(Looper.java:136)
04-25 21:21:44.440: E/AndroidRuntime(16327):    at android.app.ActivityThread.main(ActivityThread.java:5146)
04-25 21:21:44.440: E/AndroidRuntime(16327):    at java.lang.reflect.Method.invokeNative(Native Method)
04-25 21:21:44.440: E/AndroidRuntime(16327):    at java.lang.reflect.Method.invoke(Method.java:515)
04-25 21:21:44.440: E/AndroidRuntime(16327):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:796)
04-25 21:21:44.440: E/AndroidRuntime(16327):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612)
04-25 21:21:44.440: E/AndroidRuntime(16327):    at dalvik.system.NativeStart.main(Native Method)
04-25 21:21:44.440: E/AndroidRuntime(16327): Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x0
04-25 21:21:44.440: E/AndroidRuntime(16327):    at android.content.res.Resources.getValue(Resources.java:1195)
04-25 21:21:44.440: E/AndroidRuntime(16327):    at android.content.res.Resources.getDrawable(Resources.java:729)
04-25 21:21:44.440: E/AndroidRuntime(16327):    at android.content.res.Resources.getDrawable(Resources.java:711)
04-25 21:21:44.440: E/AndroidRuntime(16327):    at com.example.flagsgame.ClassicMode.pic_view(ClassicMode.java:221)
04-25 21:21:44.440: E/AndroidRuntime(16327):    at com.example.flagsgame.ClassicMode.onCreate(ClassicMode.java:82)
04-25 21:21:44.440: E/AndroidRuntime(16327):    at android.app.Activity.performCreate(Activity.java:5231)
04-25 21:21:44.440: E/AndroidRuntime(16327):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
04-25 21:21:44.440: E/AndroidRuntime(16327):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2169)
04-25 21:21:44.440: E/AndroidRuntime(16327):    ... 12 more
public int getIdentifier (String name, String defType, String defPackage)