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

问题描述:我想要一个“删除”function,可以在列表视图中执行删除/删除所选条目,同时删除Video_List目录中的驻留video文件字符串,然后刷新列表视图的内容?

我是android / java的新手可以有人帮我吗? 向下滚动以评估我面临的问题! 有人能告诉我,我应该添加到当前代码中的具体代码是什么,以执行上述function?

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

model.absolutePath = mfile.getAbsolutePath();

在getVideoFiles()方法中’for’循环。

也就在onCreate状态之前:

ListViewAdapter lv;

然后在getVideoFiles的最终状态:

lv = new ListViewAdapter(this, R.layout.row, videoItems); setListAdapter(lv); 

最后在deleteFile()中你需要声明:

文件myFile = new File(item.absolutePath);

lv.notifyDataSetChanged();

这应该工作!

您定义了一个覆盖onListItemClick,但从未调用此代码。 您还应该将监听器注册到您正在使用的视图。 检查android如何处理用户界面事件。

 newListView.setOnItemClickListener(this); 

是否要删除适配器或者是否要删除列表中的行/条目? 如果是后者,则更新videoItems并在适配器上调用notifyDataSetChanged。 如果你真的想要删除适配器,那么只需将其设置为NULL或让它引用其他一些ListAdapter实例,GC将负责其余的工作。

 @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;} ////////////////