【问题标题】:Type mismatches with Mediaplayer setup类型与 Mediaplayer 设置不匹配
【发布时间】:2014-10-02 16:18:07
【问题描述】:

我正在尝试按照教程进行操作: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我是一个新手程序员,所以请在必要时解释所有细节。谢谢。

【问题讨论】:

    标签: android-mediaplayer


    【解决方案1】:

    线路有问题:

    private static HashMap players = new HashMap();
    

    你必须写

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

    并且在每个“Collection mps”行上,您都可以将其投射到 (MediaPlayer)

    【讨论】:

      【解决方案2】:

      我将 hashmap 更改为稀疏数组:

      这一行:

      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();
      }
      

      或者类似的东西

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-09-20
        • 1970-01-01
        • 2018-06-08
        • 2020-01-02
        • 1970-01-01
        • 2015-04-09
        • 1970-01-01
        相关资源
        最近更新 更多