listview下删除某item后导致剩余item点击错乱
/**
* 文件删除
* @param position
*/
private void deleteMusicFile(int position) {
File file = new File(Mp3Info.get(position).getUrl());
Log.d("delete", "delete " + Mp3Info.get(position).getUrl());
file.delete();
}
/**
* 使用MediaScannerReceiver清除MediaStore缓存
*/
public void allScan() {
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,
Uri.parse("file://" + Environment.getExternalStorageDirectory())));
}
@Override
public void onClick(DialogInterface arg0, int arg1) {
//删除文件操作
deleteMusicFile(position);
Mp3Info.remove(position);
adapter.notifyDataSetChanged();
allScan();
ToastShow.getToast(HomeActivity.this, "已删除").show();
}
通过以上代码确实实现了音乐文件的删除,也同时从listview里删除了条目,但剩余item的点击会产生错乱。例如:
aa aa
bb <--删除bb后listview变为右边 cc
cc dd <--点击这项会播放cc
dd ee <--点击这项会播放dd
ee