2015-02-25 3 views
0

У меня есть список изображений в моей таблице базы данных. При загрузке активности я просматриваю путь к изображениям из файла и автоматически создаю экземпляры представлений изображений и добавляю один за другим в свой контейнер линейного макета. Затем для каждого imageView при нажатии - я открываю свою собственную работу по редактированию изображений и редактирую ее. После редактирования изображения и сохранения его в новом файле, и я удаляю старый путь к файлу в базе данных. Затем он возвращается к активности просмотра изображений и добавляет вновь сохраненное изображение в контейнер. Поскольку у меня нет контроля над imageViews в контейнере, я не могу удалить imageView (файл перед редактированием), когда он возвращается к активности вида. Но когда я выхожу из приложения и загружаю его снова, он просматривает базу данных и загружает изображения, и все выглядит нормально. Потому что я удалил запись в базе данных, поэтому нет представления об удаленном (файл перед редактированием) изображении.Невозможно удалить динамически созданный ImageView - Android

например: (одна логика)

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(); 
+1

Вы должны использовать ListView и играть с щелкнул положение элемента, чтобы удалить строку –

+0

Да. Я понял. @SuhailMehta –

ответ

0

Я не понимаю, как вы не имеете проверочные над ними. Когда вы создаете их на первом месте, добавьте некоторую переменную класса, которая содержит все изображения в макете. Затем, когда пользователь редактирует какое-то изображение, вы просто обнаруживаете это изображение в этом контейнере и обмениваете его новым. Это один из способов, если я понял, что вы правильно поставили вопрос. Удачи!

0

сделать Somthing так:

для всех 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; 

Редактирование изображения ActivityForResult:

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));