Android ListView 嵌套 ImageView,如何响应ImageView的点击和长按事件

时间:2022-01-24 02:53:01

http://www.tuicool.com/articles/EZv2Uv

1、先说下嵌套在ListView中的ImageView如何响应点击事件

方法:在imageView中设置onClick属性,例如:android:onClick="TimeClick"

然后在Activity中写TimeClick方法,获取ImageView的id就可以了。

2、长按事件:

本人是用BaseAdapter的,然后在getView中写:holder.iv.setOnLongClickListener(new deleteClickListener());

holder.iv是:

private class Holder{
public ImageView iv;
}

holder = new Holder();
convertView = mInflater.inflate(R.layout.time_items, null);  //ImageView所在的布局文件
holder.iv = (ImageView) convertView.findViewById(R.id.picture);

最后实现deleteClickListener类就可以。

注:在写deleteClickListener时

@Override
public boolean onLongClick(View view) {
Toast.makeText(mContext, "删除成功", 1).show();
return true;
}

系统默认返回false,要改为true,否则点击事件和长按事件有冲突。

另:ListView 设置 android:focusable="false"

ImageView 设置  android:focusable="true"