Android 不在Kotlin中添加新值的可变列表
我正在从特定文件夹获取文件路径列表,但当我尝试将其添加到可变列表中时,列表仍然为空Android 不在Kotlin中添加新值的可变列表,android,kotlin,mutablelist,Android,Kotlin,Mutablelist,我正在从特定文件夹获取文件路径列表,但当我尝试将其添加到可变列表中时,列表仍然为空 var filePath: MutableList<String>? = null val path = File(getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).path, "BacFo Camera") if (path.exists()) { for(i in path.list().iterator()
var filePath: MutableList<String>? = null
val path = File(getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).path, "BacFo Camera")
if (path.exists()) {
for(i in path.list().iterator()){
filePath?.add("" + path.toString() + "/" + i) //here i=file name
}
}
在运行调试器之后,这些值确实出现在变量i中,但变量列表中的某些值仍然为空。我是科特林的新手,请帮帮我
列表仍然为空
var filePath: MutableList<String>? = null
val path = File(getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).path, "BacFo Camera")
if (path.exists()) {
for(i in path.list().iterator()){
filePath?.add("" + path.toString() + "/" + i) //here i=file name
}
}
否,列表为空:
尝试为其指定一个值:
var filePath: MutableList<String> = mutableListOf()
列表仍然为空
var filePath: MutableList<String>? = null
val path = File(getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).path, "BacFo Camera")
if (path.exists()) {
for(i in path.list().iterator()){
filePath?.add("" + path.toString() + "/" + i) //here i=file name
}
}
否,列表为空:
尝试为其指定一个值:
var filePath: MutableList<String> = mutableListOf()
试试这个:
var filePath: MutableList<String> = arrayListOf()
试试这个:
var filePath: MutableList<String> = arrayListOf()
您声明了可变列表,但将其初始化为null。因此,变量是保留的,但不是用列表初始化的 当您尝试向列表中添加值时,请使用?。仅当列表中的值不为空时才执行。但实际上它是空的,因为调用没有执行 您应该初始化列表,例如使用ArrayList
您声明了可变列表,但将其初始化为null。因此,变量是保留的,但不是用列表初始化的 当您尝试向列表中添加值时,请使用?。仅当列表中的值不为空时才执行。但实际上它是空的,因为调用没有执行 您应该初始化列表,例如使用ArrayList
你能解释一下为什么这能解决OP的问题吗problem@Kingsley,这就解决了问题,因为您将可变列表初始化为可以添加新值的列表并动态更改其内容。你能解释一下为什么这能解决OP的问题吗problem@Kingsley,这就解决了问题,因为您将可变列表初始化为可以添加新值的列表并动态更改其内容。