ProductValues.length () возвращает недоступное значение из 4 (из 13).
Если имеется только 3 элемента (falco, cs30, bs), максимальное значение для i равно 2, но i равно 3 в соответствии с исключением.
Если productValues = "falco, cs30, bs". Вызов productValues.length () возвращает 13. В вашем массиве нет 13 элементов.
Вы должны переместить метод split вверх до значения для l oop и использовать его результат в качестве l oop итератор.
String[] namesList = productValues.split(",");
for (int i = 0; i < namesList.length(); i++)
{
TableRow tbrow = new TableRow(getContext());
TextView t1v = new TextView(getContext());
t1v.setText(namesList[i]);
t1v.setTextColor(Color.WHITE);
t1v.setGravity(Gravity.CENTER);
tbrow.addView(t1v);
stk.addView(tbrow);
}