2012-04-12 76 views
0

我試圖從另一個類中獲取MediaPlayer的內容,但每次嘗試它時,它都會給我一個NullPointerException異常,我不確定我在做什麼錯誤。下面是我在其他類已經設置方法:所以我設置在類之間傳遞MediaPlayer對象時出現NullPointerException

public MediaPlayer getName(int number) { 

    switch (number) { 

     case 1: 
      mp = MediaPlayer.create(getApplicationContext(), R.raw.john); 

     break; 

    } 

    return mp; 

} 

所以在我的其他類,我試圖找回它像這樣...

mp = myNameList.getName(number); 

我MediaPlayer實例在我的原始類中從NameList類中檢索到的數據。只要我做了什麼,我就會在getName方法上得到一個NullPointerException。有沒有更好的方式來提取這些數據並將其設置在另一個課程中?我很抱歉,如果這個問題有點全面,但我真的很難對付這個問題!

事先謝謝你們!

+0

當你第一次打電話時,'number'的值是多少? – trutheality 2012-04-12 22:40:49

+0

你應該發佈更多的代碼,但是當你調用'getName()'時,最有可能'myNameList'爲null。設置一個斷點並進行調試,看看發生了什麼。 – kcoppock 2012-04-12 22:42:01

回答

0

如果number != 1,那麼mp將永遠不會初始化爲新的MediaPlayer對象。另外,你確定myNameList不是null嗎?

+0

嘿,夥計們,謝謝你的回覆。我不認爲myName列表是空的,因爲我在方法調用上面有這個代碼 - 'myNameList = new NameList();'然後在此之後我按上面所示進行調用'mp = myNameList.getName(number);'但每次getName方法都有NullPointerException。有什麼我需要在類中有getName方法嗎?還是問題在於在NameList類中調用該方法的類? – Creights 2012-04-13 07:53:17