android中怎么实现Gallery长按删除所选图片的功能,请大神指点
现在可以通过position获取当前长按的Gallery,显示是用的自定义的adapter
static class GridViewAdapter extends BaseAdapter {
// 存放各个元素
private List<ViewItem> listItem = new ArrayList<ViewItem>();
Context cont;
// 将一个xml文件转化成视图
//LayoutInflater inFlater;
public GridViewAdapter(Context context) {
cont = context;
//this.inFlater = LayoutInflater.from(context);
}
public void addItem(String text, Bitmap bmp, int status) {
ViewItem vi1 = new ViewItem();
vi1.setName(text);
vi1.setImg(bmp);
vi1.setStatus(status);
listItem.add(vi1);
}
public int getCount() {
return listItem.size(); //Integer.MAX_VALUE;
}
public Object getItem(int arg0) {
return arg0;
}
public long getItemId(int arg0) {
return arg0;
}
public View getView(int arg0, View arg1, ViewGroup arg2) {
View view = View.inflate(cont, R.layout.gv_item, null);
TextView tv = (TextView) view.findViewById(R.id.gv_item_appname);
ImageView iv = (ImageView) view.findViewById(R.id.gv_item_icon);
if (listItem.size() == 0) return null;
tv.setText(listItem.get(arg0 % listItem.size()).getName());
iv.setImageBitmap(listItem.get(arg0 % listItem.size()).getImg());
if (listItem.get(arg0 % listItem.size()).getStatus() != 0) {
tv.setTextColor(Color.RED);
tv.setText(listItem.get(arg0 % listItem.size()).getName() + "(报警中)");
}
//if(arg0%listItem.size() == 0) tv.setTextColor(Color.RED); // 红色标志为第一个元素
return view;
}
}
//Gallery长按删除所选图片
mGalleryCadImage.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> adapterView, View view, int position, long l) {
// TODO Auto-generated method stub
new AlertDialog.Builder(AddMarkActivity.this)
.setIcon(android.R.drawable.ic_dialog_alert)
.setTitle("温馨提示")
.setMessage("您真的要删除编号为"+position+"的图片吗")
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.setNegativeButton("取消", null)
.show();
return true;
}
});