Home » Android » get the index of a child view in android

get the index of a child view in android

Posted by: admin June 15, 2020 Leave a comment


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?


How to&Answers:

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);


In onclicklistener, Get the parent of TextView

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

Hope this helps