我正在尝试按照教程: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我是新手程序员,所以请在必要时解释所有细节。谢谢。
答案 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();
}
或沿着这些方向的东西