类型与媒体播放器设置不匹配



我正在尝试按照教程进行操作:http://www.rbgrn.net/content/307-light-racer-20-days-61-64-completion 但只需快速复制和粘贴,我立即收到以下行的错误"类型不匹配:无法从对象转换为媒体播放器":

 MediaPlayer mp = players.get(music);

附加信息:

private static HashMap players = new HashMap();

和"类型不匹配:无法从元素类型对象转换为媒体播放器":

 for (MediaPlayer p : mps) {

附加信息:

Collection mps = players.values();

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

该行有问题:

private static HashMap players = new HashMap();

你必须写

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

在每个"集合 mps"行上,您都有一个投射到(媒体播放器)

我将哈希映射更改为稀疏数组:

这一行:

private static HashMap players = new HashMap();

对此:

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

然后在我使用的每个集合 mps 事件中:

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

或类似的东西

最新更新