【发布时间】:2011-12-19 14:01:45
【问题描述】:
我已经实现了一个带有自定义适配器的gridview,并且适配器膨胀了一个布局并在gridview的每个元素中显示了两个项目。一个是图像视图,另一个是关闭按钮,它位于图像的右上方。我的问题是当我单击十字按钮时从网格中删除元素。我必须触发两个图像的事件。所以我计划在适配器内提供关闭按钮事件。最后它可以工作,但我无法删除点击的位置。每当我单击关闭按钮图像时,它都会从我的数组列表中删除最后一个元素。请帮助我。
我的代码如下:
@Override
public View getView( int position, View convertView, ViewGroup parent)
{
View MyView = convertView;
pos=position;
positionForCheck =(Object) pos;
if (convertView == null)
{
LayoutInflater li = (LayoutInflater) MyContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
MyView = li.inflate(R.layout.grid_item_for_bag, null);
// Add The Image!!!
ImageView imageSrc = (ImageView) MyView.findViewById(R.id.grid_item_bag_image);
ImageView imageClose = (ImageView) MyView.findViewById(R.id.grid_item_bag_close);
}
imageSrc.setImageResource(MyList.get(position));
imageClose.setImageResource(R.drawable.closeicon_31x31);
imageClose.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
MyList.remove(position)
notifyDataSetChanged();
}
});
return MyView;
}
【问题讨论】:
标签: android gridview click listener