Currently, when the ListItem is clicked I grab its position and pass it to my StopsScheduleActiviy. I would like to detect when the ImageView of that ListItem is clicked so
In you Custom Adapter getView()
method , when you are init the ImageView
. Add position as a tag for image view. So each time when new ImageView
will appear it will hold its position in his tag. Then just add the OnClickListener()
in getView()
.
OnClickListener(View view)
contains the view which was clicked by user. So when user will click any image view in the list. Then it will be passed to OnClickListener(View view)
as a clicked view. And we know that our ImageView
contains the position as a tag. So the tag can tell us that this ImageView
is for ? position. :)
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null){
convertView = inflater.inflate(R.layout.list_row, parent, false);
}
ImageView imageView = (ImageView) convertView.findViewById(R.id.videoListImage);
imageView.setTag(new Integer(position));
imageView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(mContext, "ImageView clicked for the row = "+view.getTag().toString(), Toast.LENGTH_SHORT).show();
}
});
return convertView;
}
You will get the clicked ImageView
position.