无法删除动态生成的 ImageView - Android

Unable to delete dynamically generated ImageView - Android

我的数据库中有一个图像列表 table。加载 activity 时,我从文件中读取图像路径并以编程方式创建图像视图实例,然后将一个接一个添加到我的线性布局容器中。然后对于每个 imageView,当点击时 - 我打开我的自定义图像编辑 activity 并编辑它。一旦图像被编辑并将其保存在一个新文件中,我就会删除数据库中的旧文件路径。然后它返回图像视图 activity 并将新保存的图像添加到容器中。由于我没有容器中 imageView 的控制权,所以当它返回到视图 activity 时,我无法删除 imageView(编辑前的文件)。但是当我退出应用程序并再次加载它时,它会查看数据库并加载图像,一切看起来都很好。因为我删除了数据库中的条目,所以没有查看删除(编辑前的文件)图像。

例如:(仅逻辑)

for all imagePath in ImagePath
    ImageView imageView(imagePath);
    linearLayoutContainer.addView(imageView);
    imageView.onClick() --> openEditActivity();

 Image Edit ActivityForResult: 
    String path = bundle.getString("newImagepath");
    ImageView imageView(path);
    linearLayoutContainer.addView(imageView);
    imageView.onClick() --> openEditActivity();

我不明白你怎么控制不了他们。当您首先创建它们时,添加一些 class 变量,其中包含布局中的所有图像视图。然后,当用户编辑一些图像时,您只需在该容器中找到该图像视图并将其替换为新图像。如果我理解你以正确的方式提问,那就是其中一种方式。祝你好运!

做这样的事情:

对于 ImagePath 中的所有 imagePath

ImageView imageView(imagePath);
imageView.setId(IMG_ID);//IMG_ID is unique for all images
linearLayoutContainer.addView(imageView);
imageView.onClick() --> openEditActivity();// onclick save CLK_IMG_ID=IMG_ID;

图像编辑活动结果:

String path = bundle.getString("newImagepath");
ImageView imageView(path);
imageView.setId(IMG_ID);//IMG_ID is unique for all images
linearLayoutContainer.addView(imageView);
imageView.onClick() --> openEditActivity();// onclick save CLK_IMG_ID=IMG_ID;
linearLayoutContainer.removeView(linearLayoutContainer.findViewById(CLK_IMG_ID));