【问题标题】:Delete Image from Gridview从 Gridview 中删除图像
【发布时间】:2013-04-17 18:00:51
【问题描述】:

我试图简单地从网格视图中删除图像。我之前遇到了问题,没有删除任何内容,但现在这不是问题,因为我确定我只需要正确的文件路径。图像保存在我的 sd 卡上,因此我需要代码帮助,以正确识别已单击图像的正确文件路径,并在单击删除按钮时将其删除。我究竟做错了什么?不会引发任何错误,并且我的清单在所有权限上都是最新的。我认为它会比原来简单得多。以下是我的代码:

    deletebutton.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
    // TODO Auto-generated method stub
    int id = viewIt.getId();
    Log.i("start", "BEGIN_DELETE");
    String myPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/My Directory/";
    File file= new File(myPath + intent.getData());

if(file.exists()){  
    file.delete();
}
    Log.i("end", "END_DELETE");

    dialog.dismiss();                                                                       

    }
    });

【问题讨论】:

  • 您正在删除文件。如果方法或类更新并搜索文件,我建议将该活动刷新为一个简单的修复或采取很长的路要走,并实际删除网格视图上的项目。
  • 如果您从 sdcard 的路径显示图像,我会跳过该路径并引用 gridview。在适配器上调用 notifyDataSetChanged() 以刷新 gridview
  • Akyl - 我想走很长的路。刷新甚至不是问题。当我测试它时,图像仍然在手机上,所以它没有被删除。直接从网格中删除它的漫长方法是什么?
  • @Raghunandan - 不是重复的,我问了这两个问题。在这个问题中,我正在努力检索文件路径,而在另一个问题中,我在删除文件时遇到了麻烦。不过我想通了。

标签: android file filepath sd-card


【解决方案1】:

想通了!我使用 textview 查看返回的文件路径,然后使用它直到我得到正确的文件路径。然后它就像一个魅力。以下是我的工作代码。

delete.setOnClickListener(new View.OnClickListener() {


                                @Override
                                public void onClick(View v) {
                                    // TODO Auto-generated method stub
                                    int id = viewIt.getId();
                                     Log.i("start", "BEGIN_DELETE");
                                        String filestring = arrPath[id];
                                        filepath.setText(filestring);
                                        File myDir = new File(filestring);
                                        if(myDir.exists()) 
                                        {
                                            myDir.delete();
                                        }
                                        dia.dismiss();
                                        Log.i("end", "END_DELETE"); 

                                }
                            });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-01
    • 2016-05-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多