提问人:Hayat Mamud 提问时间:12/4/2022 最后编辑:Hayat Mamud 更新时间:12/4/2022 访问量:62
在 Android Studio 中制作音乐播放器应用时发现“NullPointerException”
"NullPointerException" found while making a Music Player app in Android Studio
问:
我正在制作一个“音乐播放器应用程序”,在那里我遇到了“NullPointerException”错误,因为歌曲路径的值为 null,应用程序崩溃。如果我添加“if null”子句,应用程序不会崩溃,但不会显示音乐列表。请帮帮我,我被困住了!
Caused by: java.lang.NullPointerException: Attempt to get length of null array
at com.example.shplayer.MainActivity.findSong(MainActivity.java:68)
at com.example.shplayer.MainActivity.displaySongs(MainActivity.java:88)
at com.example.shplayer.MainActivity$1.onPermissionGranted(MainActivity.java:46)
at com.karumi.dexter.MultiplePermissionsListenerToPermissionListenerAdapter.onPermissionsChecked(Unknown Source:35)
代码中最有可能出现问题的部分——
public ArrayList<File> findSong (File file)
{
ArrayList<File> arrayList = new ArrayList<>();
File[] files = file.listFiles();
for (File singlefile: files)
{
if (singlefile.isDirectory() && !singlefile.isHidden())
{
arrayList.addAll(findSong(singlefile));
}
else {
if (singlefile.getName().endsWith(".mp3") || singlefile.getName().endsWith(".wav"))
{
arrayList.add(singlefile);
}
}
}
return arrayList;
}
请给我处理此空指针异常的解决方案,我将能够看到音乐列表。
答: 暂无答案
评论
listFiles()
的文档:“ 如果此抽象路径名不表示目录,或者发生 I/O 错误,则返回。请查询以查找可以播放的音频内容。null
MediaStore