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

我用ArrayList的方式显示了存储卡某个文件件内的文件的列表,AdapterView添加了点击的事件,但是我想添加一个长按点击弹出菜单,里面有删除按钮,点击删除按钮删... 我用ArrayList的方式显示了存储卡某个文件件内的文件的列表,AdapterView添加了点击的事件,但是我想添加一个长按点击弹出菜单,里面有删除按钮,点击删除按钮删除对应的文件夹内的那个文件,并刷新列表。我现在遇到的问题是,我怎么获取那个文件的地址,这个是最大的问题。希望高手们能给小弟一个Demo或者一些指点,我刚接触Android,谢谢
我简单的贴了下代码,希望各位帮我看下行么?在网盘中
http://pan.baidu.com/share/link?shareid=738293995&uk=706528506
谢谢了
展开
 我来答
sunny秋千坠
2015-06-17 · TA获得超过766个赞
知道小有建树答主
回答量:388
采纳率:77%
帮助的人:237万
展开全部
	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());

善良的youyouok
2013-09-12 · 超过15用户采纳过TA的回答
知道答主
回答量:55
采纳率:0%
帮助的人:39.2万
展开全部
你是怎么得到文件名的??怎么会没有路径
你在取文件名的时候,把它的完整路径也加入一个ArrayList,点击的时候用position去删除
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dangligedang_p
2013-09-12
知道答主
回答量:19
采纳率:0%
帮助的人:8.2万
展开全部
先把Item对应position的信息保存了 长按事件得到position再做操作
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhikai599
2013-09-12 · TA获得超过109个赞
知道答主
回答量:133
采纳率:0%
帮助的人:61.1万
展开全部
文件的地址就是你的Listview填充的数据的某一项,你可以通过监听里的position去定位.demo你可以去eoe,csdn,oschina等社区找.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jessicabeauty
2013-09-12 · 超过11用户采纳过TA的回答
知道答主
回答量:33
采纳率:0%
帮助的人:17.5万
展开全部
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了。。。。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式