Java 使用HashMap时是否显示错误?

Java 使用HashMap时是否显示错误?,java,android,hashmap,android-mediaplayer,Java,Android,Hashmap,Android Mediaplayer,我正在使用哈希映射,它显示了一个错误:- 类型ArrayList中的方法add(HashMap)不适用于参数(字符串) 在这一行: songsList.add(fullpath); 编辑: private ArrayList<HashMap<String, String>> songsList = new ArrayList<HashMap<String, String>>(); private Cursor musiccursor, vide

我正在使用哈希映射,它显示了一个错误:-

类型
ArrayList
中的方法
add(HashMap)
不适用于参数
(字符串)

在这一行:

songsList.add(fullpath);

编辑:

private ArrayList<HashMap<String, String>> songsList = new ArrayList<HashMap<String, String>>();
private Cursor musiccursor, videocursor; // projection for audio media files
String[] music = { MediaStore.Audio.Media._ID,MediaStore.Audio.Media.DATA,MediaStore.Audio.Media.DI‌​SPLAY_NAME, MediaStore.Video.Media.SIZE }; // projection for video media files
String[] video = { MediaStore.Video.Media._ID,MediaStore.Video.Media.DATA,MediaStore.Video.Media.DI‌​SPLAY_NAME, MediaStore.Video.Media.SIZE };
private ArrayList songsList=new ArrayList();
专用游标musiccursor,videocursor;//音频媒体文件的投影
String[]music={MediaStore.Audio.Media.\u ID,MediaStore.Audio.Media.DATA,MediaStore.Audio.Media.DI‌​SPLAY_NAME,MediaStore.Video.Media.SIZE};//视频媒体文件的投影
String[]video={MediaStore.video.Media.\u ID,MediaStore.video.Media.DATA,MediaStore.video.Media.DI‌​SPLAY_NAME,MediaStore.Video.Media.SIZE};

HashMap是一个通用的。它可以接受任何单一类型的变量,但只能接受声明为的类型。如果这看起来像是声明为采用ArrayList,但您试图添加字符串,反之亦然。

请提供更多代码。看起来你的
ArrayList
是用来处理
HashMap
的,但是不管出于什么原因,你只是给它一个
字符串;专用游标音乐接收器、视频游标;//音频媒体文件字符串[]音乐的投影={MediaStore.audio.media.\u ID,MediaStore.audio.media.DATA,MediaStore.audio.media.DISPLAY\u NAME,MediaStore.Video.media.SIZE};//视频媒体文件的投影字符串[]视频={MediaStore.video.media.\u ID,MediaStore.video.media.DATA,MediaStore.video.media.DISPLAY\u NAME,MediaStore.video.media.SIZE};你能用例子解释一下吗…?基于代码-songsList.add必须采用HashMap。fullPath是一个字符串。那不行。你只想要文件名列表吗?然后使用ArrayList。如果您确实想要完整的hashmap,那么需要创建一个新的hashmap,向其中添加fullpath,然后将该hashmap添加到ArrayList。