java - 在android中添加两个MutableList
问题描述
我想知道为什么 totalList 会显示 null。我有 2 个可变列表
var totalList : MutableList<String>?=null
var listOfImagesPath: MutableList<String>? = null
将listOfImagesPath
用于从手机中检索所有图像。我想添加listOfImagesPath
到totalList
listOfImagesPath = RetriveCapturedImagePath()
totalList?.add(listOfImagesPath.toString())
我使用下面的代码检查它们的大小
longToast("list" +listOfImagesPath?.size.toString())
longToast("total "+totalList?.size.toString())
输出
5
null
为什么我会得到 null ?
编辑
我想要实现的是从图库中选择的捕获图像和图像显示到gridView中。
相机捕捉
listOfImagesPath?.clear()
listOfImagesPath = RetriveCapturedImagePath()
totalList?.addAll(listOfImagesPath!!)
grid.setAdapter(ImageListAdapter(this, totalList))
从图库中选择图像
val bitmap = MediaStore.Images.Media.getBitmap(getActivity()?.getContentResolver(), uri);
val bytes = ByteArrayOutputStream();
bitmap?.compress(Bitmap.CompressFormat.JPEG, 90, bytes)
val path = getRealPathFromURI(uri)
listOfImagesPath = RetriveCapturedImagePath()
if(listOfImagesPath?.size!=0){
totalList.addAll(listOfImagesPath!!)
}
totalList.add(path)
grid.setAdapter(ImageListAdapter(this, totalList))
现在的问题是当我捕获一张图像时,它工作正常。但是当我第二次拍摄图像时,它会显示 3 张图像(第 1、第 1 和第 2)。似乎totalList
添加了两次。
解决方案
您必须首先像这样初始化您的列表
var totalList MutableList<String> = mutableListOf()
然后正常添加新值
totalList.add(listOfImagesPath.toString())
推荐阅读
- snakemake - snakemake STAR 模块问题和额外问题
- c++ - std::this_thread::sleep_for(2s) 中的 s 是什么?
- php - Woocommerce 自定义支付网关不重定向
- r - ifelse() 和 if else 在 dplyr mutate() 中为时间变量给出不同的结果
- webpack - 通过 webpack 开发服务器提供的 SCSS 文件与源文件不同
- c++ - `inline` 和 `template 之间的实际区别是什么
`? - python - 如何重塑保留唯一信息的数据框?
- php - 使用 jQuery、PHP 和 MySQL 自动完成输入
- node.js - 来自 mongodb 的 Api 查询 Show TypeError: null is not a function
- javascript - 多个客户端使用的 JavaScript 包的交付机制