Problème d'initialisation d'une application
Bonsoir à toutes et à tous,
Dans une application, je souhaite récupérer la largeur d'un LinearLayout. Je procède comme suit :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| public class MainActivity extends Activity implements SensorEventListener{
LinearLayout affCarte;
int AffX, AffY; // dimension en pixels de la fenêtre d'affichage de la carte
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
affCarte = (LinearLayout)findViewById(R.id.AffCarte);
AffX = affCarte.getWidth();
} |
AffX me retourne systématiquement 0.
Si je place l'instruction :
Code:
AffX = affCarte.getWidth();
dans un appel d'évènement, par exemple :
Code:
1 2 3 4
| @Override
public final void onSensorChanged(SensorEvent event) {
AffX = affCarte.getWidth();
} |
cette fois, AffX me retourne bien la largeur du Layout.
J'ai essayé de placer cette instruction dans un onStart, dans un onResume : ça retourne toujours 0.
Apparemment, tant qu'on est est dans la phase d'initialisation, on n'arrive pas à récupérer cette valeur. Comment faire car j'ai besoin de connaître cette valeur pour d'autres initialisations (cadrage d'image).
Merci de votre aide.
Pierre