gpt4 book ai didi

java - 照片删除后如何更新ArrayList

转载 作者:行者123 更新时间:2023-12-01 18:40:28 24 4
gpt4 key购买 nike

因此,我通过通过图库和相机照片添加图像来填充我的位图数组列表(照片),然后将名称数组保存到数据库中,将图像保存到存储中。在 ImageAdapter 类中,如果我从数组列表中删除图像,那么在不保存列表的情况下,它会成功从存储中删除图像,但如果我单击保存按钮,那么它不会从我的内部手机存储中删除图像作为我的位图 ArrayList (照片)不更新。如何在保存之前更新主类( fragment )中的位图数组列表?

保存功能

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

}

我的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();
}
})

最佳答案

您只需在从列表中删除该项目后执行此操作即可实现此目的

    myList.removeAt(position)
myAdapter.notifyDataSetChanged()

关于java - 照片删除后如何更新ArrayList <Bitmap>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59942217/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com