Ammar Samater
Ammar Samater

Reputation: 539

get the index of a child view in android

I have a TableRow that contains TextViews. When a TextView is clicked, a method receives the the TextView. Is there a way to know if this TextView is the first, second, or i'th child of its parent view?

Thanks

Upvotes: 13

Views: 12387

Answers (2)

Ivo Stoyanov
Ivo Stoyanov

Reputation: 18699

First you need to get a reference to the parent view with .getParent(). Having the parent you can use indexOfChild(myView) to get the index of your view within the parent. In one row it looks like this:

int indexOfMyView = ((TableRow ) myView.getParent()).indexOfChild(myView);

This should work with any type of parent view:

int indexOfMyView = ((ViewGroup) myView.getParent()).indexOfChild(myView);

Upvotes: 29

sha
sha

Reputation: 1420

In onclicklistener, Get the parent of TextView

TableRow r = (TableRow) ((ViewGroup) textView.getParent());
int position = r.indexOfChild(textView)

Hope this helps

Upvotes: 4

Related Questions