Java 如何在listview文件浏览器中删除条目和视频文件?

Java 如何在listview文件浏览器中删除条目和视频文件?,java,android,file,android-listview,android-arrayadapter,Java,Android,File,Android Listview,Android Arrayadapter,问题描述:我想要一个“删除”功能,它可以执行listview中所选条目的删除/删除,同时删除video_列表目录中驻留的视频文件字符串,然后刷新listview的内容 我是android/java新手,有人能帮我吗?请向下滚动以评估我面临的问题!!有人能告诉我,为了执行上述功能,我应该在当前代码中添加哪些特定代码吗?您定义了一个仅重写项单击,但从未调用过此代码。您还应该向正在使用的视图注册侦听器。检查android如何处理 要删除适配器还是要删除列表中的行/条目?如果是后者,则更新videoIt

问题描述:我想要一个“删除”功能,它可以执行listview中所选条目的删除/删除,同时删除video_列表目录中驻留的视频文件字符串,然后刷新listview的内容


我是android/java新手,有人能帮我吗?请向下滚动以评估我面临的问题!!有人能告诉我,为了执行上述功能,我应该在当前代码中添加哪些特定代码吗?

您定义了一个仅重写项单击,但从未调用过此代码。您还应该向正在使用的视图注册侦听器。检查android如何处理


要删除适配器还是要删除列表中的行/条目?如果是后者,则更新videoItems并在适配器上调用notifyDataSetChanged。如果确实要删除适配器,则只需将其设置为NULL或使其引用其他ListAdapter实例,GC将处理其余的部分。

由于您已将选择存储到“item”对象中,因此在deleteFile()方法中,您需要从该对象检索文件路径,以便添加行:

@Override // create contextuel menu 
            public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
                super.onCreateContextMenu(menu, v, menuInfo);
                menu.setHeaderTitle("Action");

                menu.add(0,100,1,"delete");

            }

    //////////////////////////////////////////////////
    @Override // Select an item 
        public boolean onContextItemSelected(MenuItem item) {
            final AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
            switch(item.getItemId()){
            case 100:
    public void onClick(DialogInterface dialog, int id) {
                    db.delete_item(info.id);

                    //here update list view
    }
    });

    ////////////

    public boolean delete_item(long id){ 

    return db.delete("name_table", "_id="+id, null)>0;}
    ////////////////
绝对路径模型= mfile.getAbsolutePath()

在getVideoFiles()方法的“for”循环中

同样在onCreate状态之前:

ListViewAdapter lv

然后在结束状态的getVideoFiles中:

  lv = new ListViewAdapter(this, R.layout.row, videoItems);
  setListAdapter(lv); 
最后,在deleteFile()中,您需要声明:

File myFile=新文件(item.absolutePath)

lv.notifyDataSetChanged()


这应该行得通

@dhaag23我想删除视频文件??请向下滚动到代码底部。@user693959我想删除视频文件,同时删除正在单击的适配器项,否则apter仍将保留在列表视图中,不是吗?你能帮我一下吗?我真的不知道如何实现上面的功能;带删除文件(v,位置);使用传入的视图获取要删除的文件的名称:(TextView)v.findViewById(R.id.toptext).getText().toString()。用户确认删除后,执行文件操作删除文件,然后删除数据列表videoItems中的条目。删除(位置)。最后,通过getListAdapter()更新listView。notifyDataSetChanged()刷新listView。HTTH@user693959您的解释仍然很模糊??带有错误,如deleteFile(v,位置);getListAdapter().notifyDataSetChanged()。。对不起,我的编程相当糟糕,不知道我应该把你上面提到的适当代码放在哪里??Haiz…我想你应该更好地理解这个概念并阅读我给你的链接。如果你理解正确,这行代码应该可以工作。这行代码与在我的ow上下文中删除条目和视频文件有什么关系?@Lumis这是我一直遇到的令人费解的部分,我被这个问题困扰了好几天,在删除listview中选定的文件和条目方面没有任何实际进展!!!你能帮我解决我的问题吗。。。我对android/java还比较陌生…@Lumis非常感谢!!:)@Lumis顺便问一下,您知道如何将条目和视频文件传输/归档到另一个文件目录listview活动吗?@Lumis您知道如何将视频文件和listview条目复制/传输到另一个listview活动吗?您只需了解如何将文件复制到另一个文件夹,然后使用不同路径应用相同的代码:filefilePath=新文件(“/SD卡/视频列表”)
  lv = new ListViewAdapter(this, R.layout.row, videoItems);
  setListAdapter(lv);