IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Accès variables d'une classe via tableau => modification de la technique via liste


Sujet :

Android

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 137
    Points : 67
    Points
    67
    Par défaut Accès variables d'une classe via tableau => modification de la technique via liste
    Bonjour,

    Je suis occupé de finaliser une partie de mon code mais je suis tombé sur un os...
    J'ai une classe ChiffreArray qui contient des variables servant à stocker des données.
    J'aimerais pouvoir accéder à celles-ci sous forme de tableau.

    Mais je ne vois pas comment m'y prendre :s

    Donc voilà ma classe ChiffreArray:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    package rapport.presse.cim;
     
    import android.widget.TextView;
     
    public class ChiffreArray {
    	String mDataNum = "";
    	String mDataTirage = "";
    	String mDataDiffTot = "";
    	String mDataDiffPay = "";
    	String mDataVind = "";
    	String mDataAbPrint = "";
    	String mDataAbGroup = "";
    	String mDataVNumP = "";
    	String mDataVTiers = "";
    	String mDataAd = "";
    	String mDataNonAd = "";
    	String mDataAff = "";
    	String mDataAutreDiffM = "";
    	String mDataAdBis = "";
    	String mDataNonAdBis = "";
    	String mDataPush = "";
    	String mDataPull = "";
    	String mDataPullBis;
    	String mDataDisPub = "";
    	String mDataDiffD = "";
     
    }
    Et ici la classe asynchrone servant placer ces valeurs dans mes textView:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    package rapport.presse.cim;
     
    import java.io.InputStream;
     
    import android.os.AsyncTask;
    import android.widget.TextView;
     
    public class AsyncDownloadTab extends AsyncTask<String, Integer, ChiffreArray>{
     
    	private InputStream mInputStream;
    	private HttpConnexionTab mHttpConnexionTab = new HttpConnexionTab();
     
    	public ChiffreArray mChiffres = new ChiffreArray();
    	private TextView[] mTextViewMap;
    	private int cpt;
    	public String[] mDataTab =  {"mDataNum",  "mDataTirage", "mDataDiffTot", "mDataDiffPay", "mDataVind","mDataAbPrint", "mDataAbGroup", "mDataVNumP", "mDataVTiers", "mDataAd", "mDataNonAd", 
    			"mDataAff", "mDataAutreDiffM", "mDataAdBis", "mDataNonAdBis", "mDataPush", "mDataPull", "mDataPullBis", "mDataDisPub", "mDataDiffD"};
     
    	public AsyncDownloadTab(ChiffreArray mChiffres, TextView[] textViewMap, int cpt){
    		this.mChiffres = mChiffres;
    		this.mTextViewMap = textViewMap;
    		this.cpt = cpt;
    	}
    	@Override
    	protected ChiffreArray doInBackground(String... params) {
    		// TODO Auto-generated method stub
    		String url = params[0];
    		String key1= params[1];
    		String choix = params[2];
    		String key2 = params[3];
    		String date = params[4];
    		mInputStream = mHttpConnexionTab.getConnexionHttp(url, key1, choix, key2, date );
    		String res = mHttpConnexionTab.convertToString(mInputStream);
    		return mChiffres;
    	}
     
    	@Override
    	protected void onPostExecute(ChiffreArray result) {
    		super.onPostExecute(result);
    		if (mChiffres != null){	
     
    			for(int i = cpt; i < cpt+20; i++){
    				for (int j = 0; j < mDataTab.length; j++){
    					String mData = mDataTab[i];
    					mTextViewMap[i].setText(mChiffres.mData);
    				}
     
    			}
     
    			/**mDataTirage1.setText(mChiffresCol1.mDataTirage);
                            mDataDiffTot1.setText(mChiffresCol1.mDataDiffTot);
                            mDataDiffPay1.setText(mChiffresCol1.mDataDiffPay);
                            mDataVind1.setText(mChiffresCol1.mDataVind);
                            mDataAbPrint1.setText(mChiffresCol1.mDataAbPrint);
                            mDataAbGroup1.setText(mChiffresCol1.mDataAbGroup);
                            mDataVNumP1.setText(mChiffresCol1.mDataVNumP);
                            mDataVTiers1.setText(mChiffresCol1.mDataVTiers);
                            mDataAd1.setText(mChiffresCol1.mDataAd);
                            mDataNonAd1.setText(mChiffresCol1.mDataNonAd);
                            mDataAff1.setText(mChiffresCol1.mDataAff);
                            mDataAutreDiffM1.setText(mChiffresCol1.mDataAutreDiffM);
                            mDataAdBis1.setText(mChiffresCol1.mDataAdBis);
                            mDataNonAdBis1.setText(mChiffresCol1.mDataNonAdBis);
                            mDataPush1.setText(mChiffresCol1.mDataPush);
                            mDataPull1.setText(mChiffresCol1.mDataPull);
                            mDataPullBis1.setText(mChiffresCol1.mDataPullBis);
                            mDataDisPub1.setText(mChiffresCol1.mDataDisPub);
                            mDataDiffD1.setText(mChiffresCol1.mDataDiffD);
                    }
                    else {
                            mDataNbNum1.setText("-");
                            mDataTirage1.setText("-");
                            mDataDiffTot1.setText("-");
                            mDataDiffPay1.setText("-");
                            mDataVind1.setText("-");
                            mDataAbPrint1.setText("-");
                            mDataAbGroup1.setText("-");
                            mDataVNumP1.setText("-");
                            mDataVTiers1.setText("-");
                            mDataAd1.setText("-");
                            mDataNonAd1.setText("-");
                            mDataAff1.setText("-");
                            mDataAutreDiffM1.setText("-");
                            mDataAdBis1.setText("-");
                            mDataNonAdBis1.setText("-");
                            mDataPush1.setText("-");
                            mDataPull1.setText("-");
                            mDataPullBis1.setText("-");
                            mDataDisPub1.setText("-");
                            mDataDiffD1.setText("-");
                    }**/
    	}}
     
    }
    En fait j'aimerais éviter toute la partie en commentaire pour ne fonctionner qu'avec une ligne dans une boucle.
    Qlq serait m'aider? (la ligne 45)

  2. #2
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 969
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 969
    Points : 3 375
    Points
    3 375
    Par défaut
    Pas besoin de .setText avec des variables de classe.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mDataDiffPay = "ma valeur";
    c'est déjà plus lisible.

    Ensuite tu peux passer par un constructeur (mais ici tu as trop de variables).

    Tu peux également définir une énumération et l'employer pour initialiser tes variables.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public enum CHIFFRE_ENUM
    {
    DATA_NUM = 0,
    DATA_PAY = 1
    ...
    }
    Si la réponse vous a aidé, pensez à cliquer sur +1

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 137
    Points : 67
    Points
    67
    Par défaut
    Le setTex c'est pour mettre dans le textView approprié ^^

  4. #4
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 969
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 969
    Points : 3 375
    Points
    3 375
    Par défaut
    Ok elles portent le même nom

    L'utilité d'une énumération, c'est de pouvoir travailler facilement avec des valeurs (position), en les nommant.

    Au lieu de travailler avec la valeur 1, tu travailleras avec la valeur DATA_PAY.

    Quand on travaille sur des tableaux c'est plus parlant que 5, 9...
    Si la réponse vous a aidé, pensez à cliquer sur +1

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 137
    Points : 67
    Points
    67
    Par défaut
    J'ai pensé faire une énumération mais si je fonctionne en faisait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    enum mDataId{
    		mDataNum(mChiffres.mDataNum);
    	}
    Bah il me dit "Cannot make a static reference to the non-static field mChiffres"

  6. #6
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 969
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 969
    Points : 3 375
    Points
    3 375
    Par défaut
    Tu devras passer par une méthode dans ChiffreArray.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Public void setParam(final CHIFFRE_ENUM chiffre_enum, final String val)
    {
       if (chiffre_enum == CHIFFRE_ENUM.DATA_PAY) 
       {
             this.mDataPay = val;
             return;
       } 
     
       //A compléter pour les autres enum.
       //...
    }
    Rem: je me demande si on ne fait pas fausse route, je suis un peu perdu

    Je te donne l'idée de l'enum, à toi de voir si c'est utilisable dans ton cas.
    Si la réponse vous a aidé, pensez à cliquer sur +1

  7. #7
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 969
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 969
    Points : 3 375
    Points
    3 375
    Par défaut
    Citation Envoyé par vangoeth Voir le message
    J'ai pensé faire une énumération mais si je fonctionne en faisait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    enum mDataId{
    		mDataNum(mChiffres.mDataNum);
    	}
    Bah il me dit "Cannot make a static reference to the non-static field mChiffres"
    Ca ne marchera jamais un code pareil.

    Tu dois instancier la variable qui recevra l'enum et donner l'accès (Public...).Ici avec des parenthèses, il n'acceptera pas.

    Va voir dans mon SetParam comment instancier l'enum
    Si la réponse vous a aidé, pensez à cliquer sur +1

  8. #8
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 137
    Points : 67
    Points
    67
    Par défaut
    Bah là disons que je dois remplir les textView d'un tableLayout.
    Donc mon http s'occupe de mettre les données dans ma classe ChiffreArray

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    package rapport.presse.cim;
     
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.util.ArrayList;
    import java.util.List;
    import org.apache.http.HttpEntity;
    import org.apache.http.HttpResponse;
    import org.apache.http.NameValuePair;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.entity.UrlEncodedFormEntity;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.message.BasicNameValuePair;
    import org.json.JSONArray;
    import org.json.JSONException;
    import org.json.JSONObject;
    import android.util.Log;
     
    public class HttpConnexionTab {
    	/**===============================================
                            Envoie de la requête HTTP
            ===============================================**/ 
     
    	/**
             * @param url
             * @param params
             * @return input stream
             **/
    	public InputStream getConnexionHttp(String url, String key1, String choix, String key2, String date){ 
    		InputStream is = null;
     
    		try{
    			HttpClient httpclient = new DefaultHttpClient();
    			HttpPost httppost = new HttpPost(url);
    			List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
    			nameValuePairs.add(new BasicNameValuePair(key1, choix));
    			nameValuePairs.add(new BasicNameValuePair(key2, date));
    			httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
    			HttpResponse response = httpclient.execute(httppost);
    			HttpEntity entity = response.getEntity();
    			is = entity.getContent();
    		}
    		catch(Exception e){
    			Log.e("log_tag", "Error in http connection " + e.toString());
    		}
    		return is;
    	}
    	/**===============================================
                                            End
            ===============================================**/ 
     
    	/**===============================================
                    Conversion de la requête en string
            ===============================================**/ 
    	public String convertToString(InputStream is){
    		StringBuilder sb = new StringBuilder();
    		try{
    			BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
    			String line = null;
    			while ((line = reader.readLine()) != null) {
    				sb.append(line + "\n");
    			}
    			is.close();
    		}catch(Exception e){
    			Log.e("log_tag", "Error converting result " + e.toString());
    		}
    		return sb.toString();
    	}			
    	/**===============================================
                                            End
            ===============================================**/ 
     
    	/**===============================================
                    On parse les données Json
            ===============================================**/
    	public ChiffreArray parseJsonFile(String result){
    		ChiffreArray data = new ChiffreArray();
    		try{
    			JSONArray jArray = new JSONArray(result);
    				for(int i=0;i<jArray.length();i++){
    					JSONObject json_data = jArray.getJSONObject(i);
    					data.mDataNum = (json_data.getString("numb_issues"));
    					data.mDataTirage = (json_data.getString("print_run"));
    					data.mDataDiffTot = (json_data.getString("total_meas_distr"));
    					data.mDataDiffPay = (json_data.getString("payed_distr"));
    					data.mDataVind = (json_data.getString("ind_sale"));
    					data.mDataAbPrint = (json_data.getString("sub_print"));
    					data.mDataAbGroup = (json_data.getString("gr_sub_print"));
    					data.mDataVNumP = (json_data.getString("sales_copy_print"));
    					data.mDataVTiers = (json_data.getString("sale_third"));
    					data.mDataAd = (json_data.getString("sale_third_add"));
    					data.mDataNonAd = (json_data.getString("sale_third_unadd"));
    					data.mDataAff = (json_data.getString("joined"));
    					data.mDataAutreDiffM = (json_data.getString("other_meas"));
    					data.mDataAdBis = (json_data.getString("other_meas_add"));
    					data.mDataNonAdBis = (json_data.getString("other_meas_unadd"));
    					data.mDataPush = (json_data.getString("other_meas_push"));
    					data.mDataPull = (json_data.getString("other_meas_pull"));
    					data.mDataPullBis = (json_data.getString("pull_raw"));
    					data.mDataDisPub = (json_data.getString("pull_raw_disposal"));
    					data.mDataDiffD = (json_data.getString("pull_raw_differed"));				
    			}
     
     
    				//Log.i("log_tag",json_data.getString("chiffres"));
    				// Résultats de la requête
     
    		}catch(JSONException e){
    			Log.e("log_tag", "Error parsing data " + e.toString());
    		}
    		return data;
     
    		/**===============================================
                                                    End
                    ===============================================**/	
    	}	
    }
    Et puis après je les récupérais une à une en appelant mes tâche asynchrones (mais là j'en ai plus qu'une).

    Donc quand je me connecte, je récupère l'instance de ma classe, mais avec les valeurs modifiées.

    Mais là je dois y avoir accès de manière dynamique ^^

  9. #9
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 969
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 969
    Points : 3 375
    Points
    3 375
    Par défaut
    Je comprends maintenant.

    Tu dois plutôt regarder du côté JSON et voir s'il peut instancier un objet en 1 méthode.

    Ce qu'il te faut c'est un serializer, comme on le fait en xml.

    T'as déjà entendu parlé de Parcelable en java? ^^

    Désolé, mais je ne l'ai pas encore essayé en java.
    Si la réponse vous a aidé, pensez à cliquer sur +1

  10. #10
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 137
    Points : 67
    Points
    67
    Par défaut
    Bah là ça fonctionne nickel :p
    Faut juste que j'accède aux variable de mon instance de la classe ChiffreArray mais via une boucle :p

  11. #11
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 137
    Points : 67
    Points
    67
    Par défaut
    Bon voilà j'ai fait des modifs, je me base plus sur une classe mais une liste c'est plus simple ^^
    Donc en gros j'ai refait la même technique qu'ailleurs en faisant une liste de liste ^^
    Mais là problème, je n'ai pas le droit de faire ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mTextViewMap[i].setText(mListeChiffres.get(i));
    Le message d'erreur dit: The method setText(CharSequence) in the type TextView is not applicable for the arguments (Object)

  12. #12
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Je vais faire un C/C de mon dernier message

    Citation Envoyé par Hizin Voir le message
    Normal.
    Tu devrais aussi avoir un warning sur cette ligne-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    List listF = new ArrayList<Formation>();
    Si ce n'est pas le cas, je te suggère de passer quelques temps dans les options de ton IDE pour activer des warnings/erreurs qui devrait t'aider dans tes développements.

    Tu ne peux pas accéder aux méthodes des objets "Formation" via la liste car elle est déclarée comme étant une liste, sans aucun type paramétrée. Ainsi, puisque le type n'est pas indiqué, listF est considérée comme contenant des objets de type Object.

    Déclare ta liste comme-ça : List<Formation> listF;.
    Tu as sans doute le même problème. Paramètre donc ta déclaration, et passe un peu de temps dans les options de ton IDE.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  13. #13
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 137
    Points : 67
    Points
    67
    Par défaut
    Ha mais je n'ai pas fait une liste d'objet :p
    J'ai fait une liste de string ^^

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    package rapport.presse.cim;
     
    import java.io.InputStream;
    import java.util.ArrayList;
    import java.util.List;
     
    import android.os.AsyncTask;
    import android.widget.TextView;
     
    public class AsyncDownloadTab extends AsyncTask<String, Integer, List<String>> {
     
    	private InputStream mInputStream;
    	private HttpConnexionTab mHttpConnexionTab = new HttpConnexionTab();
     
    	public  ArrayList mListeChiffres = new ArrayList();
    	private TextView[] mTextViewMap;
    	private int cpt;
     
     
     
    	public AsyncDownloadTab(ArrayList<String> mChiffres, TextView[] textViewMap, int cpt){
    		this.mListeChiffres = mChiffres;
    		this.mTextViewMap = textViewMap;
    		this.cpt = cpt;
    	}
    	@Override
    	protected List<String> doInBackground(String... params) {
    		// TODO Auto-generated method stub
    		String url = params[0];
    		String key1= params[1];
    		String choix = params[2];
    		String key2 = params[3];
    		String date = params[4];
    		mInputStream = mHttpConnexionTab.getConnexionHttp(url, key1, choix, key2, date );
    		String res = mHttpConnexionTab.convertToString(mInputStream);
    		return mListeChiffres;
    	}
     
    	@Override
    	protected void onPostExecute(List<String> result) {
    		super.onPostExecute(result);
    		if (mListeChiffres != null){	
     
    			for(int i = cpt; i < cpt+20; i++){
    				mTextViewMap[i].setText(mListeChiffres.get(i));	
    			}
     
    			/**mDataTirage1.setText(mChiffresCol1.mDataTirage);
                            mDataDiffTot1.setText(mChiffresCol1.mDataDiffTot);
                            mDataDiffPay1.setText(mChiffresCol1.mDataDiffPay);
                            mDataVind1.setText(mChiffresCol1.mDataVind);
                            mDataAbPrint1.setText(mChiffresCol1.mDataAbPrint);
                            mDataAbGroup1.setText(mChiffresCol1.mDataAbGroup);
                            mDataVNumP1.setText(mChiffresCol1.mDataVNumP);
                            mDataVTiers1.setText(mChiffresCol1.mDataVTiers);
                            mDataAd1.setText(mChiffresCol1.mDataAd);
                            mDataNonAd1.setText(mChiffresCol1.mDataNonAd);
                            mDataAff1.setText(mChiffresCol1.mDataAff);
                            mDataAutreDiffM1.setText(mChiffresCol1.mDataAutreDiffM);
                            mDataAdBis1.setText(mChiffresCol1.mDataAdBis);
                            mDataNonAdBis1.setText(mChiffresCol1.mDataNonAdBis);
                            mDataPush1.setText(mChiffresCol1.mDataPush);
                            mDataPull1.setText(mChiffresCol1.mDataPull);
                            mDataPullBis1.setText(mChiffresCol1.mDataPullBis);
                            mDataDisPub1.setText(mChiffresCol1.mDataDisPub);
                            mDataDiffD1.setText(mChiffresCol1.mDataDiffD);
                    }
                    else {
                            mDataNbNum1.setText("-");
                            mDataTirage1.setText("-");
                            mDataDiffTot1.setText("-");
                            mDataDiffPay1.setText("-");
                            mDataVind1.setText("-");
                            mDataAbPrint1.setText("-");
                            mDataAbGroup1.setText("-");
                            mDataVNumP1.setText("-");
                            mDataVTiers1.setText("-");
                            mDataAd1.setText("-");
                            mDataNonAd1.setText("-");
                            mDataAff1.setText("-");
                            mDataAutreDiffM1.setText("-");
                            mDataAdBis1.setText("-");
                            mDataNonAdBis1.setText("-");
                            mDataPush1.setText("-");
                            mDataPull1.setText("-");
                            mDataPullBis1.setText("-");
                            mDataDisPub1.setText("-");
                            mDataDiffD1.setText("-");
                    }**/
    	}}
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    package rapport.presse.cim;
     
    import java.io.InputStream;
    import java.util.ArrayList;
    import java.util.List;
    import android.app.Activity;
    import android.os.AsyncTask;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.widget.Button;
    import android.widget.LinearLayout;
    import android.widget.TableLayout;
    import android.widget.TextView;
     
    public class Tableau extends Activity {
     
    	//protected static final View mCaseTableLayout16 = null;
     
     
     
    	public ChiffreArray[] mChiffre;
    	public 
     
    	enum TextViewId{
    		mDataNbNumCol1(R.id.dataNbNum1),
    		mDataTirageCol1(R.id.dataTirage1),
    		mDataDiffTotCol1(R.id.dataDiffTot1),
    		mDataDiffPayCol1(R.id.dataDiffPay1),
    		mDataVindCol1(R.id.dataVind1),
    		mDataAbPrintCol1(R.id.dataAbPrint1),
    		mDataAbGroupCol1(R.id.dataAbGroup1),
    		mDataVNumPCol1(R.id.dataVNumP1),
    		mDataVTiersCol1(R.id.dataVTiers1),
    		mDataAdCol1(R.id.dataAd1),
    		mDataNonAdCol1(R.id.dataNonAd1),
    		mDataAffCol1(R.id.dataAff1),
    		mDataAutreDiffMCol1(R.id.dataAutreDiffM1),
    		mDataAdBisCol1(R.id.dataAdBis1),
    		mDataNonAdBisCol1(R.id.dataNonAdBis1),
    		mDataPushCol1(R.id.dataPush1),
    		mDataPullCol1(R.id.dataPull1),
    		mDataPullBisCol1(R.id.dataPullBis1),
    		mDataDisPubCol1(R.id.dataDisPub1),
    		mDataDiffDCol1(R.id.dataDiffD1),
     
            mDataNbNumCol2(R.id.dataNbNum2),
            mDataTirageCol2(R.id.dataTirage2),
            mDataDiffTotCol2(R.id.dataDiffTot2),
            mDataDiffPayCol2(R.id.dataDiffPay2),
            mDataVindCol2(R.id.dataVind2),
            mDataAbPrintCol2(R.id.dataAbPrint2),
            mDataAbGroupCol2(R.id.dataAbGroup2),
            mDataVNumPCol2(R.id.dataVNumP2),
            mDataVTiersCol2(R.id.dataVTiers2),
            mDataAdCol2(R.id.dataAd2),
            mDataNonAdCol2(R.id.dataNonAd2),
            mDataAffCol2(R.id.dataAff2),
            mDataAutreDiffMCol2(R.id.dataAutreDiffM2),
            mDataAdBisCol2(R.id.dataAdBis2),
            mDataNonAdBisCol2(R.id.dataNonAdBis2),
            mDataPushCol2(R.id.dataPush2),
            mDataPullCol2(R.id.dataPull2),
            mDataPullBisCol2(R.id.dataPullBis2),
            mDataDisPubCol2(R.id.dataDisPub2),
            mDataDiffDCol2(R.id.dataDiffD2),
     
            mDataNbNumCol3(R.id.dataNbNum3),
            mDataTirageCol3(R.id.dataTirage3),
            mDataDiffTotCol3(R.id.dataDiffTot3),
            mDataDiffPayCol3(R.id.dataDiffPay3),
            mDataVindCol3(R.id.dataVind3),
            mDataAbPrintCol3(R.id.dataAbPrint3),
            mDataAbGroupCol3(R.id.dataAbGroup3),
            mDataVNumPCol3(R.id.dataVNumP3),
            mDataVTiersCol3(R.id.dataVTiers3),
            mDataAdCol3(R.id.dataAd3),
            mDataNonAdCol3(R.id.dataNonAd3),
            mDataAffCol3(R.id.dataAff3),
            mDataAutreDiffMCol3(R.id.dataAutreDiffM3),
            mDataAdBisCol3(R.id.dataAdBis3),
            mDataNonAdBisCol3(R.id.dataNonAdBis3),
            mDataPushCol3(R.id.dataPush3),
            mDataPullCol3(R.id.dataPull3),
            mDataPullBisCol3(R.id.dataPullBis3),
            mDataDisPubCol3(R.id.dataDisPub3),
            mDataDiffDCol3(R.id.dataDiffD3),
     
            mDataNbNumCol4(R.id.dataNbNum4),
            mDataTirageCol4(R.id.dataTirage4),
            mDataDiffTotCol4(R.id.dataDiffTot4),
            mDataDiffPayCol4(R.id.dataDiffPay4),
            mDataVindCol4(R.id.dataVind4),
            mDataAbPrintCol4(R.id.dataAbPrint4),
            mDataAbGroupCol4(R.id.dataAbGroup4),
            mDataVNumPCol4(R.id.dataVNumP4),
            mDataVTiersCol4(R.id.dataVTiers4),
            mDataAdCol4(R.id.dataAd4),
            mDataNonAdCol4(R.id.dataNonAd4),
            mDataAffCol4(R.id.dataAff4),
            mDataAutreDiffMCol4(R.id.dataAutreDiffM4),
            mDataAdBisCol4(R.id.dataAdBis4),
            mDataPushCol4(R.id.dataPush4),
            mDataPullCol4(R.id.dataPull4),
            mDataPullBisCol4(R.id.dataPullBis4),
            mDataDisPubCol4(R.id.dataDisPub4),
            mDataDiffDCol4(R.id.dataDiffD4),
     
            mDataNbNumCol5(R.id.dataNbNum5),
            mDataTirageCol5(R.id.dataTirage5),
            mDataDiffTotCol5(R.id.dataDiffTot5), 
            mDataDiffPayCol5(R.id.dataDiffPay5),   
            mDataVindCol5(R.id.dataVind5),
            mDataAbPrintCol5(R.id.dataAbPrint5),
            mDataAbGroupCol5(R.id.dataAbGroup5),
            mDataVNumPCol5(R.id.dataVNumP5),
            mDataVTiersCol5(R.id.dataVTiers5),
            mDataAdCol5(R.id.dataAd5),
            mDataNonAdCol5(R.id.dataNonAd5),
            mDataAffCol5(R.id.dataAff5),
            mDataAutreDiffMCol5(R.id.dataAutreDiffM5),
            mDataAdBisCol5(R.id.dataAdBis5),
            mDataNonAdBisCol5(R.id.dataNonAdBis5),
            mDataPushCol5(R.id.dataPush5),
            mDataPullCol5(R.id.dataPull5),
            mDataPullBisCol5(R.id.dataPullBis5),
            mDataDisPubCol5(R.id.dataDisPub5),
            mDataDiffDCol5(R.id.dataDiffD5);
     
    		private int resId;
    		private TextViewId(int r){
    			this.resId = r;
    		}
    		public int getResId(){
    			return this.resId;
    		}
    	}
     
    	enum ButtonId{
     
    		mNbNum(R.id.nbNum),
            mTirage(R.id.tirage),
            mDiffTot(R.id.diffTot),
        	mPullBis(R.id.pullBis);
     
    		private int resId;
    		private ButtonId(int r){
    			this.resId = r;
    		}
    		public int getResId(){
    			return this.resId;
    		}
    	}
     
    	enum TableId{
     
    		mTableLayout1(R.id.tableLayout1),
    		mTableLayout2(R.id.tableLayout2),
    		mTableLayout6(R.id.tableLayout3),
    		mTableLayout7(R.id.tableLayout4);
     
    		private int resId;
    		private TableId(int r){
    			this.resId = r;
    		}
    		public int getResId(){
    			return this.resId;
    		}
    	}
     
    	public TextViewId[] textViewId = TextViewId.values();
        public TextView[] textViewMap = new TextView[textViewId.length]; //103	
     
        public ButtonId[] buttonId = ButtonId.values();
        public Button[] buttonMap = new Button[buttonId.length]; //4
     
        public List<ArrayList<String>> mDataMap = new ArrayList<ArrayList<String>>(5); //5 colonnes 
     
        public TableId[] tableId = TableId.values();
        public TableLayout[] tableMap = new TableLayout[tableId.length]; //4
     
    	public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.tableau);
     
     
            final String url="http://192.168.1.100/cimPresse.php?donnee=getResultats";
     
     
            /**================================================
                    Récupération des passages de variable
                    ================================================**/
            Bundle extra = getIntent().getExtras();
            String mVariable = extra.getString("choix");
           // Log.i("log_tag", mVariable);
     
            for (int i = 0; i < 5; i++){
            	int cpt = 0;
            	mDataMap.add(new ArrayList<String>());
            	int date = 2007;
            	new AsyncDownloadTab(mDataMap.get(i), textViewMap, cpt).execute(url, "choix", mVariable, "date", date);
            	date++;
            	cpt=+20;
            }
     
            for (int j = 0; j < textViewId.length; j++){
            	textViewMap[j] = (TextView) findViewById(textViewId[j].getResId());
            }
     
            for (int k = 0; k < buttonId.length; k++){
            	tableMap[k] = (TableLayout) findViewById(tableId[k].getResId());
            	tableMap[k].setVisibility(View.GONE);
     
            	buttonMap[k] = (Button) findViewById(buttonId[k].getResId());
            	buttonMap[k].setOnClickListener(new MyTabListener(tableMap[k]));
            }
    	}
    }

  14. #14
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Et ben si

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public  ArrayList mListeChiffres = new ArrayList();
    Déclaration et création non-paramétrées, donc, sans ces informations, Dalvik en déduit que ce sont des conteneurs d'Object.
    Ensuite, tu lui mets en valeur un objet de type ArrayList<String>. Les types sont compatibles, mais le conteneur déclaré dans mListeChiffres ne sait toujours pas ce qu'il contient, donc Dalvik non plus, donc assimilé a type Object, donc ton message d'erreur.

    Il faut que tu la déclares ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public  ArrayList<String> mListeChiffres = new ArrayList<String>();
    pour signifier explicitement que ton conteneur ne contient que des String.

    Si tu n'as pas de warning la-dessus, je te suggère de nouveau, et plus fortement cette fois, de t'intéresser aux paramètres de ton IDE pour activer plus de warning/erreur. Ce type d'erreur ne devrait pas arriver avec un IDE bien configuré.

    EDIT : chose que j'ai oublié d'écrire aussi : ça ne sert à rien de faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ArrayList mListeChiffre = new ArrayList();
     
    ... snip ...
     
    première ligne du constructeur : mListChiffre = leParametre;
    Tu crées un objet que tu n'utilises pas.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  15. #15
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 137
    Points : 67
    Points
    67
    Par défaut
    Bon ça fonctionne mais j'ai une erreur qui me dit que j'ai un tableau ou liste vide...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    package rapport.presse.cim;
     
    import java.io.InputStream;
    import java.util.ArrayList;
    import java.util.List;
     
    import android.os.AsyncTask;
    import android.util.Log;
    import android.widget.TextView;
     
    public class AsyncDownloadTab extends AsyncTask<String, Integer, List<String>> {
     
    	private InputStream mInputStream;
    	private HttpConnexionTab mHttpConnexionTab = new HttpConnexionTab();
     
    	public  ArrayList<String> mListeChiffres = new ArrayList<String>();
    	private TextView[] mTextViewMap;
    	private int cpt;
     
     
     
    	public AsyncDownloadTab(ArrayList<String> mChiffres, TextView[] textViewMap, int cpt){
    		this.mListeChiffres = mChiffres;
    		this.mTextViewMap = textViewMap;
    		this.cpt = cpt;
    	}
    	@Override
    	protected List<String> doInBackground(String... params) {
    		// TODO Auto-generated method stub
    		String url = params[0];
    		String key1= params[1];
    		String choix = params[2];
    		String key2 = params[3];
    		String date = params[4];
    		mInputStream = mHttpConnexionTab.getConnexionHttp(url, key1, choix, key2, date);
    		String res = mHttpConnexionTab.convertToString(mInputStream);
    		return mListeChiffres;
    	}
     
    	@Override
    	protected void onPostExecute(List<String> result) {
    		super.onPostExecute(result);
    		if (mListeChiffres != null){	
    			if (mTextViewMap != null){
    				Log.i("test1", "mText not null");
    			}else Log.i("test1", "mText null");
    			if(mListeChiffres != null){
    				Log.i("test2", "mChiffres not null");
    			}else Log.i("test2", "mChiffres null");
     
    			int j = 0;
    			for(int i = cpt; i < cpt+20; i++){
     
    				mTextViewMap[i].setText(mListeChiffres.get(j));	
    				if(j==20){
    					j = 0;
    				}else j++;
    			}
     
    			/**mDataTirage1.setText(mChiffresCol1.mDataTirage);
                            mDataDiffTot1.setText(mChiffresCol1.mDataDiffTot);
                            mDataDiffPay1.setText(mChiffresCol1.mDataDiffPay);
                            mDataVind1.setText(mChiffresCol1.mDataVind);
                            mDataAbPrint1.setText(mChiffresCol1.mDataAbPrint);
                            mDataAbGroup1.setText(mChiffresCol1.mDataAbGroup);
                            mDataVNumP1.setText(mChiffresCol1.mDataVNumP);
                            mDataVTiers1.setText(mChiffresCol1.mDataVTiers);
                            mDataAd1.setText(mChiffresCol1.mDataAd);
                            mDataNonAd1.setText(mChiffresCol1.mDataNonAd);
                            mDataAff1.setText(mChiffresCol1.mDataAff);
                            mDataAutreDiffM1.setText(mChiffresCol1.mDataAutreDiffM);
                            mDataAdBis1.setText(mChiffresCol1.mDataAdBis);
                            mDataNonAdBis1.setText(mChiffresCol1.mDataNonAdBis);
                            mDataPush1.setText(mChiffresCol1.mDataPush);
                            mDataPull1.setText(mChiffresCol1.mDataPull);
                            mDataPullBis1.setText(mChiffresCol1.mDataPullBis);
                            mDataDisPub1.setText(mChiffresCol1.mDataDisPub);
                            mDataDiffD1.setText(mChiffresCol1.mDataDiffD);
                    }
                    else {
                            mDataNbNum1.setText("-");
                            mDataTirage1.setText("-");
                            mDataDiffTot1.setText("-");
                            mDataDiffPay1.setText("-");
                            mDataVind1.setText("-");
                            mDataAbPrint1.setText("-");
                            mDataAbGroup1.setText("-");
                            mDataVNumP1.setText("-");
                            mDataVTiers1.setText("-");
                            mDataAd1.setText("-");
                            mDataNonAd1.setText("-");
                            mDataAff1.setText("-");
                            mDataAutreDiffM1.setText("-");
                            mDataAdBis1.setText("-");
                            mDataNonAdBis1.setText("-");
                            mDataPush1.setText("-");
                            mDataPull1.setText("-");
                            mDataPullBis1.setText("-");
                            mDataDisPub1.setText("-");
                            mDataDiffD1.setText("-");
                    }**/
    	}}
     
    }
    et le code d'erreur avec mes tests:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    12-31 12:25:02.710: I/test1(852): mText not null
    12-31 12:25:02.710: I/test2(852): mChiffres not null
    12-31 12:25:02.710: D/AndroidRuntime(852): Shutting down VM
    12-31 12:25:02.710: W/dalvikvm(852): threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
    12-31 12:25:02.730: E/AndroidRuntime(852): FATAL EXCEPTION: main
    12-31 12:25:02.730: E/AndroidRuntime(852): java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
    12-31 12:25:02.730: E/AndroidRuntime(852): 	at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:251)
    12-31 12:25:02.730: E/AndroidRuntime(852): 	at java.util.ArrayList.get(ArrayList.java:304)
    12-31 12:25:02.730: E/AndroidRuntime(852): 	at rapport.presse.cim.AsyncDownloadTab.onPostExecute(AsyncDownloadTab.java:54)
    12-31 12:25:02.730: E/AndroidRuntime(852): 	at rapport.presse.cim.AsyncDownloadTab.onPostExecute(AsyncDownloadTab.java:1)
    12-31 12:25:02.730: E/AndroidRuntime(852): 	at android.os.AsyncTask.finish(AsyncTask.java:602)
    12-31 12:25:02.730: E/AndroidRuntime(852): 	at android.os.AsyncTask.access$600(AsyncTask.java:156)
    12-31 12:25:02.730: E/AndroidRuntime(852): 	at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:615)
    12-31 12:25:02.730: E/AndroidRuntime(852): 	at android.os.Handler.dispatchMessage(Handler.java:99)
    12-31 12:25:02.730: E/AndroidRuntime(852): 	at android.os.Looper.loop(Looper.java:137)
    12-31 12:25:02.730: E/AndroidRuntime(852): 	at android.app.ActivityThread.main(ActivityThread.java:4424)
    12-31 12:25:02.730: E/AndroidRuntime(852): 	at java.lang.reflect.Method.invokeNative(Native Method)
    12-31 12:25:02.730: E/AndroidRuntime(852): 	at java.lang.reflect.Method.invoke(Method.java:511)
    12-31 12:25:02.730: E/AndroidRuntime(852): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
    12-31 12:25:02.730: E/AndroidRuntime(852): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
    12-31 12:25:02.730: E/AndroidRuntime(852): 	at dalvik.system.NativeStart.main(Native Method)

  16. #16
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 137
    Points : 67
    Points
    67
    Par défaut
    Personne ne sait pq il ne rentre pas dans ma boucle? :s

  17. #17
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Il rentre dans ta boucle, c'est même là qu'il y a une erreur. Tu demandes le numéro 0 de ton conteneur, qui est vide. D'où le message d'erreur et l'erreur qui va avec.

    Tu tente d'accéder à un élément qui n'existe pas, dans un conteneur créé, mais vide.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  18. #18
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 137
    Points : 67
    Points
    67
    Par défaut
    Ouais j'ai trouvé l'erreur (j'avais viré une ligne qui s'occupe de mettre les data dans ma liste -_-).
    mais jvais plutôt faire 5 tableaux au lieu qu'un pasque ma boucle pose problème jpense ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 5.3] Accés variable d'une classe
    Par Général03 dans le forum Langage
    Réponses: 6
    Dernier message: 19/08/2011, 09h25
  2. ASP.net / c# acces a une variable dans une classe
    Par Angellus dans le forum ASP.NET
    Réponses: 11
    Dernier message: 29/04/2010, 15h18
  3. Réponses: 3
    Dernier message: 02/11/2005, 18h03
  4. [FLASH MX2004] [AS2] Accès aux variables d'une classe
    Par stailer dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 17/07/2005, 12h58
  5. Variable d'une Classe Ancêtre
    Par Génie dans le forum Langage
    Réponses: 3
    Dernier message: 18/09/2002, 19h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo