2016-03-03 1 views
0

J'ai un GridLayout et je veux le modifier avec java. Je le code suivant:GridLayout plante l'application

GridLayout gridLayout = (GridLayout) findViewById(R.id.gridLayout1); 
GridLayout.LayoutParams param =new GridLayout.LayoutParams(); 
param.rightMargin = 5; 
param.topMargin = 5; 
gridLayout.setLayoutParams(param); 

Pourquoi planter?

+2

vous pouvez télécharger l'erreur crash journal – Inducesmile

Répondre

0

Le type de LayoutParams est déterminé par le parent de la vue. À moins que votre R.id.gridLayout1 se trouve dans un autre GridLayout, vous ne devriez pas utiliser GridLayout.LayoutParams.

+0

Vous aviez raison. Cela a fait l'affaire. Je vous remercie. – George

+0

Juste un rappel pour accepter la réponse pour marquer la question comme répondue et la retirer de la file d'attente. Bonne chance à l'avenir! – ianhanniballake

0

Vous pouvez le faire:

GridLayout gridLayout = (GridLayout) findViewById(R.id.gridLayout1); 
     PARENT_LAYOUT.LayoutParams layoutParams = (PARENT_LAYOUT.LayoutParams) gridLayout.getLayoutParams(); 
     layoutParams.rightMargin = 5; 
     layoutParams.topMargin = 5; 

et remplacer PARENT_LAYOUT avec le LinearLayout ou quoi que que vous utilisez comme la mise en page racine

+0

En effet. L'erreur était dans la ligne 2 où je devrais utiliser le PARENT_LAYOUT. Merci pour la réponse. – George