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

+0

もっとコードを投稿するべきですが、 'getName()'を呼び出すときに 'myNameList'がnullになる可能性が高いです。ブレークポイントを設定し、デバッグして、何が起こっているかを見てください。 – kcoppock

答えて

0

number != 1の場合、mpは新しいMediaPlayerオブジェクトとして決して初期化されません。また、myNameListがnullでないことを確かめますか?

+0

こんにちは、返信いただきありがとうございます。私はこのコードがメソッド呼び出しの上にあるので、myNameListがnullであるとは思わない - 'myNameList = new NameList();'その後、私は上記のように 'mp = myNameList.getName(number);'のように呼び出します。しかし、たびにgetNameメソッドでNullPointerExceptionが発生します。その中にgetNameメソッドを持つクラスで何かする必要がありますか?または、問題は、NameListクラスでそのメソッドを呼び出すクラスにありますか? – Creights

関連する問題