Java 如何在listview文件浏览器中删除条目和视频文件?
问题描述:我想要一个删除功能,可以执行删除/删除listview中的选定条目,同时删除video_列表目录中驻留的视频文件字符串,然后刷新listview的内容Java 如何在listview文件浏览器中删除条目和视频文件?,java,android,file,android-listview,android-arrayadapter,Java,Android,File,Android Listview,Android Arrayadapter,问题描述:我想要一个删除功能,可以执行删除/删除listview中的选定条目,同时删除video_列表目录中驻留的视频文件字符串,然后刷新listview的内容 我是android/java新手,有人能帮我吗?请向下滚动以评估我面临的问题!!有人能告诉我,为了执行上述功能,我应该在当前代码中添加哪些特定代码吗?您定义了一个仅重写项单击,但从未调用过此代码。您还应该向正在使用的视图注册侦听器。检查android如何处理 要删除适配器还是要删除列表中的行/条目?如果是后者,则更新videoItems
我是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=new Fileitem.absolutePath
lv.1被改变的数据
这应该行得通 @dhaag23我想删除视频文件??请向下滚动到代码底部。@user693959我想删除视频文件,同时删除正在单击的适配器项,否则apter仍将保留在列表视图中,不是吗?你能帮助我吗?我真的不知道如何做上述功能?替换:deleteFile;使用deleteFilev,位置;使用传入的视图获取要删除的文件的名称:TextView v.findviewbydr.id.toptext.getText.toString。用户确认删除后,执行文件操作删除文件,然后删除数据列表videoItems.removeposition中的条目。最后,通过getListAdapter.notifyDataSetChanged更新listView以刷新listView。HTTH@user693959您的解释仍然很模糊??带有诸如deleteFilev、position等错误;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);