Android Item长按弹出删除,点击删除执行删除对应的文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Item长按弹出删除,点击删除执行删除对应的文件相关的知识,希望对你有一定的参考价值。

我用ArrayList的方式显示了存储卡某个文件件内的文件的列表,AdapterView添加了点击的事件,但是我想添加一个长按点击弹出菜单,里面有删除按钮,点击删除按钮删除对应的文件夹内的那个文件,并刷新列表。我现在遇到的问题是,我怎么获取那个文件的地址,这个是最大的问题。希望高手们能给小弟一个Demo或者一些指点,我刚接触Android,谢谢
我简单的贴了下代码,希望各位帮我看下行么?在网盘中
http://pan.baidu.com/share/link?shareid=738293995&uk=706528506
谢谢了

public class MyAdapter extends BaseAdapter 

@Override
public int getCount() 
return list.size();


@Override
public Object getItem(int arg0) 
return list.get(arg0);


@Override
public long getItemId(int arg0) 
return arg0;


@Override//最主要的重写方法
public View getView(int arg0, View arg1, ViewGroup arg2) 
View view = View.inflate(显示list的Activity.this,
ListView的item是个xml布局文件(R.layout.????), null);
Button bt_enter = (Button) view.findViewById(R.id.bt_enter);
//获取ListView的一个控件,这里面获取了一个Button
//注意看,有一个参数int arg0,这个参数很重要是这个item在listView的位置
//声明一个final的值,并把arg0的值赋值给他
final int position=arg0;
bt_enter.setOnClickListener(new OnclickListenner()
//重写方法,你懂的
//在这里就可以操作position对应的条目
);
return view;

写一个内部类,Myadapter继承BaseAdapter,在需要把listView适配的地方listView.setAdapter(new MyAdapter());

参考技术A 你是怎么得到文件名的??怎么会没有路径
你在取文件名的时候,把它的完整路径也加入一个ArrayList,点击的时候用position去删除
参考技术B 先把Item对应position的信息保存了 长按事件得到position再做操作 参考技术C 文件的地址就是你的Listview填充的数据的某一项,你可以通过监听里的position去定位.demo你可以去eoe,csdn,oschina等社区找. 参考技术D listView.setOnItemLongClickListener(new OnItemLongClickListener()

@Override
public boolean onItemLongClick(AdapterView<?> arg0, View view,
int position, long id)
DeleteDialog();
return false;

);
/**
* 退出系统确认框
*/
private void DeleteDialog()
AlertDialog.Builder builder = new Builder(ShowActivity.this);

builder.setMessage("确定删除文件?");
builder.setTitle("提示");

builder.setPositiveButton("确定", new DialogInterface.OnClickListener()

@Override
public void onClick(DialogInterface dialog, int which)
//这里File构造方法参数就是从你list读取的文件路径
File file = new File(listItem.get(index));
file.delete();
//通知adapter 更新
adapter = new AAAdapter(this, list);
listView.setAdapter(adapter);

);

builder.setNegativeButton("取消", new DialogInterface.OnClickListener()

@Override
public void onClick(DialogInterface dialog, int which)


);
builder.create().show();


//文件路径你不是保存在list里了,通过positon 直接拿就OK了。。。。本回答被提问者和网友采纳

以上是关于Android Item长按弹出删除,点击删除执行删除对应的文件的主要内容,如果未能解决你的问题,请参考以下文章

求教:android 模拟器怎样模拟 长按 功能?

android中RecyclerView控件实现长按弹出PopupMenu菜单功能

android 长按事件 和 长按弹出上下文菜单如何处理

【Android开发】如何 使得 android长按按钮=多次按下按钮

Android Studio中上下文菜单的使用

Android中长按item删除,能设置长按的时间吗。也就是长按多久才弹出框