【发布时间】:2018-12-12 14:08:06
【问题描述】:
我正在尝试使用此功能从文件夹中获取图像列表
var gpath:String = Environment.getExternalStorageDirectory().absolutePath
var spath = "testfolder"
var fullpath = File(gpath + File.separator + spath)
var list = imageReader(fullpath)
fun imageReader(root : File):ArrayList<File>{
val a : ArrayList<File> ? = null
val files = root.listFiles()
for (i in 0..files.size){
if (files[i].name.endsWith(".jpg")){
a?.add(files[i])
}
}
return a!!
}
但我有这些例外:
java.lang.ArrayIndexOutOfBoundsException:length=3;index=3
kotin.kotlinNullPointerException
我已经阅读过这个问题,但我不知道如何解决它,
请帮忙?
【问题讨论】:
-
因为
Array的索引是从零开始的,所以最后一个元素是files.size - 1。 -
谢谢,它修复了第一个异常,但 NullPointerException 仍然存在,知道吗?
-
@evals 请提供完整的 logcat 错误和您尝试调用函数的代码。
-
@evals 看起来你需要在 var list = imageReader(path) 中传递 fullpath 而不是 path检查我的答案并申请。
-
@evals 检查我为您的解决方案更新的答案。
标签: android arraylist nullpointerexception kotlin indexoutofboundsexception