与Mediaplayer设置类型不匹配

时间:2013-01-27 08:04:23

标签: android-mediaplayer

我正在尝试按照教程:http://www.rbgrn.net/content/307-light-racer-20-days-61-64-completion但只需快速复制和粘贴即可立即收到错误"类型不匹配:无法从Object转换为MediaPlayer"对于以下几行:

 MediaPlayer mp = players.get(music);

其他信息:

private static HashMap players = new HashMap();

和"类型不匹配:无法从元素类型Object转换为MediaPlayer" for:

 for (MediaPlayer p : mps) {

其他信息:

Collection mps = players.values();

任何想法为什么以及如何解决这个问题? PS我是新手程序员,所以请在必要时解释所有细节。谢谢。

2 个答案:

答案 0 :(得分:1)

该行存在问题:

private static HashMap players = new HashMap();

你必须写

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

并且在每个“Collection mps”行上都有一个转换为(MediaPlayer)

答案 1 :(得分:0)

我将hashmap更改为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();
}

或沿着这些方向的东西