2012-04-12 113 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