有人可以解释为什么要在ArrayList中覆盖项目吗?
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) {
selectedImage = data.getData();
ALofSelectedImgs = new ArrayList<Uri>();
ALofSelectedImgs.add(selectedImage);
}
}
&#34; selectedImage&#34;是我从电话库中选择一张图片后得到的Uri。我想在ArrayList中存储多个Uri。为什么要覆盖?
答案 0 :(得分:0)
你的arraylist的范围是本地的。因此,每次尝试添加时,都会创建一个新的arraylist,因此上一个列表中的先前值将丢失。
ALofSelectedImgs = new ArrayList<Uri>();
ALofSelectedImgs.add(selectedImage);
所以在你的活动结果之外声明并初始化你的arraylist