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(