0

http://www.rbgrn.net/content/307-light-racer-20-days-61-64-completionのチュートリアルに従おうとしていますが、コピーして貼り付けるだけですぐにエラーが発生します "タイプの不一致: オブジェクトから MediaPlayer に変換できません」というメッセージが次の行に表示されます。

 MediaPlayer mp = players.get(music);

追加情報:

private static HashMap players = new HashMap();

および「型の不一致: 要素型 Object から MediaPlayer に変換できません」:

 for (MediaPlayer p : mps) {

追加情報:

Collection mps = players.values();

これを解決する理由と方法はありますか?PS私は初心者のプログラマーなので、必要に応じてすべての詳細を説明してください。ありがとうございました。

4

2 に答える 2

1

次の行に問題があります:

private static HashMap players = new HashMap();

あなたは書く必要があります

private static HashMap<Int,MediaPlayer> players = new HashMap();

そして、各「コレクションmps」行で、それを(MediaPlayer)にキャストします

于 2013-07-25T05:55:37.843 に答える
0

ハッシュマップを sparsearray に変更しました。

この行:

private static HashMap players = new HashMap();

これに:

private static SparseArray<MediaPlayer> players = new SparseArray<MediaPlayer>();

次に、使用した Collection mps の各オカレンスで:

for(int i = 0; i < players.size(); i++)
{
   if(players.get(i).isPlaying())
      players.get(i).pause();
}

またはそれらの線に沿った何か

于 2014-10-02T08:18:07.740 に答える