Bonjour,
Je bute (encore) sur un truc élémentaire ...
Je désire passer un (des) tableau(x) en argument d'une méthode.
Cela se présente comme cela :
Dans la classe mainGpsNav02 :
Le tableau est déclaré comme cela : String [] codeAirp ;
Il est créé ainsi : codeAirp = new String[nbEnr+2];
Il est rempli dans une boucle avec les valeur extraites d'une colonne d'un cursor.
Il est passé en paramètre ainsi : m_MonTrace.envoiTab(strRep ,codeAirp , nbEnr+2);
Dans la classe MonTrace :
la méthode se présente ainsi :
Les choses fonctionnent normalement si je passe des paramètres qui ne sont pas des tableaux et ça plante avec un tableau.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public void envoiTab(String str , String [] tabCode , int cpt) { strRep = str ; int i = 2; codeAirp = new String[cpt]; while (i< (cpt +1)) { codeAirp [i] = tabCode[i] ; i = i+1 ; } }
Ci-dessous quelques lignes du LogCat relatant le plantage :
03-09 19:30:54.448: ERROR/AndroidRuntime(312): Uncaught handler: thread main exiting due to uncaught exception
03-09 19:30:54.468: ERROR/AndroidRuntime(312): java.lang.ArrayIndexOutOfBoundsException
03-09 19:30:54.468: ERROR/AndroidRuntime(312): at org.SimpleGpsNav02.riAndroid.MonTrace.envoiTab(MonTrace.java:93)
Je sens que java.lang.ArrayIndexOutOfBoundsException n'est pas l'idéal. Est-ce un pb de déclaration ?
J'aimerais savoir si mon code est correct ou s'il présente un défaut congénital.
S'il est tel que cela devrait marcher je partirai à la recherche du grain de sable qui coince ...
Merci d'avance.
Partager