ArrayList覆盖中的项目

时间:2015-11-21 21:58:35

标签: android arraylist uri

有人可以解释为什么要在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。为什么要覆盖?

1 个答案:

答案 0 :(得分:0)

你的arraylist的范围是本地的。因此,每次尝试添加时,都会创建一个新的arraylist,因此上一个列表中的先前值将丢失。

ALofSelectedImgs = new ArrayList<Uri>();
ALofSelectedImgs.add(selectedImage);

所以在你的活动结果之外声明并初始化你的arraylist