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 :
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 ;
		}
	}
Les choses fonctionnent normalement si je passe des paramètres qui ne sont pas des tableaux et ça plante avec un tableau.

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.