Android TableLayout изменить программные отступы

Как я могу изменить отступы TableLayout программно. Я пытаюсь этот код, но он не работает. Я получаю исключение java.lang.ClassCastException: android.widget.TableLayout$LayoutParams.

TextView destinationView = (TextView) view.findViewById(R.id.departure_destination);
                            destinationView.setText(departure.destination.name);
TableLayout destinationTimeTable = (TableLayout) 
                                    view.findViewById(R.id.destination_time_table);
int extraLength = line.length() > 3 ? line.length() - 3 : 0;
LayoutParams destinationPaddingLayout = new      
       LayoutParams(destinationTimeTable.getLayoutParams());
            destinationTimeTable.setPadding(new     Float(getResources().getDimension(R.dimen.destination_padding_left)
                    + getResources().getDimension(R.dimen.destination_padding_extra) * extraLength).intValue(),
                    destinationPaddingLayout.topMargin, destinationPaddingLayout.rightMargin,
                    destinationPaddingLayout.bottomMargin);

1 ответ

Решение

Если у вас есть исключение приведения, попробуйте использовать правильный класс для него, т.е. TableLayout.MarginLayoutParams вместо MarginLayoutParams а также LayoutParams (какие из них вы в том числе?)

TableLayout.MarginLayoutParams destinationMarginLayout = new TableLayout.MarginLayoutParams(
Другие вопросы по тегам