Итак, я заполняю свой растровый ArrayList (фотографии), добавляя изображения через галерею и фотографии с камер, а затем сохраняю массив имен в базу данных и изображения в хранилище. В классе ImageAdapter, если я удаляю изображение из списка массивов, то без сохранения списка оно успешно удаляет изображение из хранилища, но если я нажимаю кнопку сохранения, то оно не удаляет изображение из моего внутреннего хранилища телефона в качестве растрового изображения ArrayList ( фото) не обновляет. Как я могу обновить свой Arraylist of Bitmap в основном классе (фрагмент) перед сохранением?
Функция сохранения
public void saveNotes() {
if (!Modify) {
if (titulo.getText().toString().length() > 0) {
if (!base.buscarNota(titulo.getText().toString())) {
String almostSameText = Html.toHtml(texto.getEditableText()).toString();
if (bp != null) {
Util.saveToInternalStorage(context, bp, ArrayImageName, photos);
Notas notas = new Notas(titulo.getText().toString().trim(), almostSameText, getFecha(), stringForArray);
base.insertarNota(notas);
} else {
Notas notas = new Notas(titulo.getText().toString().trim(), almostSameText, getFecha(), null);
base.insertarNota(notas);
}
getActivity().onBackPressed();
} else {
Alerta alerta = new Alerta(context, context.getResources().getString(R.string.title_existente));
}
} else {
Alerta alerta = new Alerta(context, context.getResources().getString(R.string.title_vacio));
}
} else {
String almostSameText = Html.toHtml(texto.getEditableText()).toString();
if (bp != null) {
Util.saveToInternalStorage(context, bp, ArrayImageName, photos);
base.modificarNota(titulo.getText().toString().trim(), almostSameText, stringForArray, id);
} else {
base.modificarNota(titulo.getText().toString().trim(), almostSameText, null, id);
}
getActivity().onBackPressed();
getActivity().overridePendingTransition(R.anim.enter_from_left, R.anim.exit_from_right);
}
}
my ImageAdapter Удалить класс битовых изображений
public void showDeletePictureDialog(){
AlertDialog.Builder builder;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
builder = new AlertDialog.Builder(Imagecontext);
} else {
builder = new AlertDialog.Builder(Imagecontext);
}
builder.setTitle("Delete photo")
.setMessage("Are you sure you want to delete this photo?")
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// continue with delete
ImageFileArrayAfterDelete = EditorFragment.loadImageStrings;
String folder_main = "MyImages";
File f = new File(Environment.getExternalStorageDirectory().toString(), folder_main);
z = new File(f.toString(), Uri.parse(String.valueOf(ImageFileArrayAfterDelete.get(currentPosition))) + ".jpg");
ImageName = z.getName();
Log.d("TAG_", "Position is: " + currentPosition + " File name is: " + ImageName);
bpAdapter.remove(currentPosition);
ImageFileArrayAfterDelete.remove(currentPosition);
toSingleString();
notifyItemRemoved(currentPosition);
notifyItemRangeChanged(currentPosition, bpAdapter.size());
z.delete();
}
})