gpt4 book ai didi

android - 删除时未删除的文件仍显示在 ListView 中

转载 作者:太空宇宙 更新时间:2023-11-03 10:55:01 26 4
gpt4 key购买 nike

我制作了一个程序,它使用存储在设备上的视频填充 ListView 并播放它们。它还尝试使用 file.delete 函数实现删除文件的功能。但是,在使用notifydatasetchange() 函数后,该文件仍然显示在 ListView 中。此外,我刚刚注意到视频文件已从 DCIM 文件夹中删除;但是,它显示在设备的图库中,但是当您单击它时,它无法播放。这是我向用户显示对话框的代码部分,当用户单击 Yes 时,然后执行删除功能。

DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
switch (which){
case DialogInterface.BUTTON_POSITIVE:

file.delete();
adapter.notifyDataSetChanged();
//list.setAdapter(adapter);
break;

case DialogInterface.BUTTON_NEGATIVE:
image2.setImageResource(R.drawable.play);
flag.setText("play");
//No button clicked
break;
}
}
};

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("This Item will be Deleted\nAre you sure?").setPositiveButton("Yes", dialogClickListener)
.setNegativeButton("No", dialogClickListener).show();


}// else closes

我不明白为什么会这样。任何有用的建议请...

最佳答案

我想我看到了问题。

您正在删除文件,但实际上您需要从 ArrayListAdapter 中删除相应的 Array 元素,然后在您的适配器上调用 notifyDataSetChanged。

参见:

update listview dynamically with adapter

要强制媒体扫描器再次运行,请参阅:

Android file delete leaves empty placeholder in Gallery

您还需要考虑以下因素:

notifyDataSetChanged example

关于android - 删除时未删除的文件仍显示在 ListView 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6622061/

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