2011-06-03 6 views
0

Comment puis-je modifier le remplissage d'un programme TableLayout. J'essaye ce code, mais ça ne fonctionne pas. J'obtiens une exception java.lang.ClassCastException: android.widget.TableLayout $ LayoutParams.Android TableLayout change padding programmatique

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); 

Répondre

0

Si vous avez une exception en fonte, essayez d'utiliser la bonne classe pour elle, à savoir TableLayout.MarginLayoutParams au lieu de MarginLayoutParams et LayoutParams (ceux qui sont vous y compris?)

TableLayout.MarginLayoutParams destinationMarginLayout = new TableLayout.MarginLayoutParams(
+0

J'ai utilisé le droit ' MarginLayoutParams' classe. Maintenant, cela fonctionne après avoir remixé cette ligne: 'destinationTimeTable.setLayoutParams (destinationMarginLayout);' – CannyDuck