r.setBounds(copy);
  protected View getViewAtPoint(int x, int y, Rectangle r)  {    View result = null;    int count = getViewCount();    Rectangle copy = new Rectangle(r);    for (int i = 0; i < count; ++i)      {        copy.setBounds(r);        childAllocation(i, r);        if (copy.contains(x, y))          {            result = getView(i);            break;          }      }    if (result == null && count > 0)      return getView(count - 1);    return result;  }