0

我正在尝试按照教程进行操作: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 (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();

并在每个“Collection mps”行上将其投射到(MediaPlayer)

于 2013-07-25T05:55:37.843 回答
0

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

这一行:

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 回答