I can't understand the function of
addView(View child, int index)
The point of the index attribute is to allow you change the order of views.
Let's say you have a massive list of views, and want to suddenly put one at the very top. If you specify that view's index as 0, it will be the first to display in the layout.
The Android documentation talks briefly about this.
A previous SO question shows the practical use for this: Android: How to add view at start of layout?.
Unless you really need to specify a position for the view, just use