如何通过获取SDCard的位置从SDCard删除音频文件

无辜杀手

我有一个带有复选框的自定义列表视图,该复选框可从SD卡文件夹中获取所有音频文件名,当我单击其中的任何一个时,它将播放音频。一切正常。现在,当我单击它时有一个图像视图,它显示了带有微调器的2选项

1)删除
2)编辑

现在我要这样,当用户从列表视图中选择任何复选框,然后从此微调器中删除时,我想从SD卡以及列表视图中完全删除此音频。所以基本上我想获得用户单击哪个项目并希望将其删除的列表视图的位置...

因此,请指导我如何实现这一目标。下面是我的代码。

final Spinner spinnerDelete = new Spinner(Assignment.this);
            alertDialogBuilder.setView(spinnerDelete);

            adapterSpinner = ArrayAdapter.createFromResource(
                    Assignment.this, R.array.delete_menu,
                    android.R.layout.simple_spinner_item);
            adapterSpinner
                    .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            spinnerDelete.setAdapter(adapterSpinner);

            alertDialogBuilder.setTitle("Delete Data");
            alertDialogBuilder
                    .setMessage("Click yes to Delete Record!")
                    .setCancelable(false)
                    .setPositiveButton("Ok",
                            new DialogInterface.OnClickListener() {
                                public void onClick(DialogInterface dialog,
                                        int id) {
                                    if (spinnerDelete
                                            .getSelectedItemPosition() == 0) {

                                        Code.i = true;
                                        int len = mListView.getCount();
                                        SparseBooleanArray checked = mListView
                                                .getCheckedItemPositions();
                                        for (int i = 0; i < len; i++)
                                            if (checked.get(i)) {
                                                 File file = new File(MEDIAPATH);
                                                 boolean deleted = file.delete();                                                                                                                                   }

媒体路径所在的位置

private static final String MEDIA_PATH = new String(
        Environment.getExternalStorageDirectory() + "/AudioRecorder/");

我尝试了下面的链接,但没有得到想要的解决方案

如何从SD卡删除文件?

使用字符串在SD卡android中删除文件

从列表视图中删除SD卡上的文件

从列表视图中删除SD卡上的文件

单击列表视图中的复选框时如何从sdcard的专用文件夹中删除特定文件

如果在Android SD卡中删除了文件,如何使文件消失一次?

无辜杀手

只需在下面的代码部分进行更改,现在一切正常,但谢谢大家。

for (int i = 0; i < len; i++)
    if (checked.get(i)) {
          String delete = myList.get(i);
          File f = new File(MEDIA_PATH + "/"+ delete);
          if (f != null && f.exists()) {
          f.delete();
        }
     }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章