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

Composants graphiques Android Discussion :

Modification Police ListView


Sujet :

Composants graphiques Android

  1. #41
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 345
    Points : 103
    Points
    103
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    nomResto = listItem.get(position).get("name");
    C'est cette ligne qui ne fonctionne pas, puisque avant listItem était mon HashMap mais maintenant que je traite le JSON Array dans l'adapter...

    Je sais pas trop comment faire pour récupérer l'item ou l'utilisateur clic.

  2. #42
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 552
    Points : 18 446
    Points
    18 446
    Par défaut
    Pourtant ça doit être simple.

    Tu as un JSONArray, à l’intérieur des JSONObject et à l'intérieur des valeurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tonJSONArray.getJSONObject(position).getString("name");
    Devrait fonctionner.
    Que te dis le logcat ?
    Keith Flint 1969 - 2019

  3. #43
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 345
    Points : 103
    Points
    103
    Par défaut
    mais je dois gérer ça dans l'Adapter l'évènement onClickItem alors ? Je peux pas le gérer dans l'activité ?

    EDIT: c'est bon ça marche, je te remercie beaucoup, vraiment pour ta disponibilité et tout ce qui suit.

    Encore merci

  4. #44
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 552
    Points : 18 446
    Points
    18 446
    Par défaut
    Tu peux mettre un OnClickListener dans le getView de l'Adapter ou mettre un OnItemClickListener dans l'Activity.

    Personnellement je préfère mettre un OnItemClickListener dans l'Activity.

    Bon ben maintenant tu sais faire un Adapter.
    A partir d'un JSONArray qui contient des JSONObject.

    Faudra mettre le topic en résolu.
    Keith Flint 1969 - 2019

  5. #45
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 345
    Points : 103
    Points
    103
    Par défaut
    Oui voilà.

    Merci beaucoup professeur . C'est super sympa

  6. #46
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 345
    Points : 103
    Points
    103
    Par défaut
    Je me permets de reposter après mon poste car c'est dans la suite de ce topic, il n'est donc pas utile que j'ouvre un nouveau sujet. J'espère que je ne me ferais pas trop taper sur les doigts.

    J'ai (encore) un problème concernant les adapteurs Perso. En effet pour une autre activité comprenant une ListView, j'ai décidé de faire mon propre adapter mais j'ai cette satané erreur que je n'arrive pas à résoudre.




    Voici le code de mon activité:


    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
     
    package com.restomaniak.alpha;
     
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.util.ArrayList;
    import java.util.HashMap;
     
    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.app.Activity;
    import android.net.ParseException;
    import android.os.Bundle;
    import android.util.Log;
    import android.widget.ArrayAdapter;
    import android.widget.ExpandableListView;
    import android.widget.ListView;
    import android.widget.RatingBar;
    import android.widget.SimpleAdapter;
    import android.widget.TextView;
    import android.widget.Toast;
     
    public class Avis extends Activity {
     
    	private ListView maListViewPerso;
    	private String nomRestaurant;
     
    	ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
        ArrayList<String> donnees = new ArrayList<String>();
     
        private String noteGlobaleString;
        private int noteGlobaleInt = 0;
        private float resultatNoteGlobale = 0;
     
        private String noteCuisineString;
        private int noteCuisineInt = 0;
        private float resultatNoteCuisine = 0;
     
        private String noteQualiteString;
        private int noteQualiteInt = 0;
        private float resultatNoteQualite = 0;
     
        private String noteServiceString;
        private int noteServiceInt = 0;
        private float resultatNoteService = 0;
     
        private JSONArray jArray;
     
        //private RatingBar noteGlobale;
        //private RatingBar noteCuisine;
        //private RatingBar noteQualite;
        //private RatingBar noteService;
     
        private ListView list = null;
     
        private TextView recupNomUtilisateur = null;
        private TextView recupDate = null;
        private TextView recupCommentaire = null;
        private TextView recupNoteCuisine = null;
        private TextView recupNoteQualite = null;
        private TextView recupNoteService = null;
     
        private String nomUtilisateur = null;
        private String date = null;
        private String commentaire = null;
        private String cuisine = null;
        private String qp = null;
        private String service = null;
     
     
    	private int compteur;
    	private int i = 0;
    	private int j = 0;
     
    	//Création de l'Arraylist qui nous permettra de remplir la listView
        ArrayList<HashMap<String, String>> listItem = new ArrayList<HashMap<String, String>>();
     
        //On déclare la HashMap qui contiendra les informations pour un item
        HashMap<String, String> map;
     
     
     
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.avis);
     
    /***************************************************************************************************************************************************/
    /************************************************************Récupération données Bunble************************************************************/
    /***************************************************************************************************************************************************/
     
            //On récupère les données du Bundle (le nom du restaurant donc)
            Bundle objetbunbleTris = this.getIntent().getExtras();
     
            if (objetbunbleTris !=null ) {
     
            	nomRestaurant = this.getIntent().getStringExtra("nomRestaurant");
     
     
            } else {
     
            	//Erreur
            	nomRestaurant = "Error";
     
            }
     
            //System.out.println("Nom restaurant: " +nomRestaurant);
     
    /***************************************************************************************************************************************************/
    /************************************************************Connexion à la base de données*********************************************************/
    /***************************************************************************************************************************************************/
     
            String result = null;
            InputStream is = null;
            JSONObject json_data=null;
     
     
     
            try{
    		     //commandes httpClient
    		     HttpClient httpclient = new DefaultHttpClient();
    		        HttpPost httppost = new HttpPost("http://www.restomaniak.com/mobile/Avis.php");
    		        nameValuePairs.add(new BasicNameValuePair("nomRestaurant", nomRestaurant));
    		        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
    		        HttpResponse response = httpclient.execute(httppost);
    		        HttpEntity entity = response.getEntity();
    		        is = entity.getContent();
    	     }
    	     catch(Exception e){
    	      Log.i("taghttppost",""+e.toString());
    	      Toast.makeText(getBaseContext(),e.toString() ,Toast.LENGTH_LONG).show();
    	     }
     
     
            //conversion de la réponse en chaine de caractère
            try
            {
    	         BufferedReader reader = new BufferedReader(new InputStreamReader(is,"UTF-8"));
     
    	         StringBuilder sb  = new StringBuilder();
     
    	         String line = null;
     
    	         while ((line = reader.readLine()) != null) 
    	         {
    	         sb.append(line + "\n");
    	         }
     
    	         is.close();
     
    	         result = sb.toString();
            }
            catch(Exception e)
            {
            	Log.i("tagconvertstr",""+e.toString());
            }
     
            //recuperation des donnees json
            try{
            	jArray = new JSONArray(result);
     
            	compteur = jArray.length();
            	System.out.println("Voici le compteur " + compteur);
     
           }
    	    catch(JSONException e)
    	    {
    	    	Log.i("tagjsonexp",""+e.toString());
    	    } catch (ParseException e) {
     
    	     Log.i("tagjsonpars",""+e.toString());
           }
     
            if (compteur != 0)
    	        {
    	        //Création et initialisation de l'Adapter pour les personnes
                  AdapterPersoAvis adapterProutes = new AdapterPersoAvis(this, jArray);
                  System.out.println(adapterProutes.getCount());
     
                  //Récupération du composant ListView
                  list = (ListView)findViewById(R.id.listviewavis);
     
                  //Initialisation de la liste avec les données
                  list.setAdapter(adapterProutes);
    	        }
     
        }
    }

    Voici le code de mon Adapter:


    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 com.restomaniak.alpha;
     
    import org.json.JSONArray;
    import org.json.JSONException;
    import org.json.JSONObject;
     
    import android.content.Context;
    import android.graphics.Typeface;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.BaseAdapter;
    import android.widget.LinearLayout;
    import android.widget.TextView;
     
    public class AdapterPersoAvis extends BaseAdapter {
     
    	private JSONArray maListe = null;
    	private Context mContext;
    	private LayoutInflater mInflater;
    	Typeface verdana;
     
     
    	JSONObject json_data=null;
     
     
    	public AdapterPersoAvis (Context context, JSONArray jArray)
    	{
    		mContext = context;
    		maListe = jArray;
    		mInflater = LayoutInflater.from(mContext);
    		verdana = Typeface.createFromAsset(mContext.getAssets(), "verdana.ttf");
     
     
    	}
     
    	public int getCount() {
     
    			return maListe.length();
     
    		// TODO Auto-generated method stub
     
    	}
     
    	public Object getItem(int position) {
    		// TODO Auto-generated method stub
     
     
    			try {
    				return maListe.get(position);
    			} catch (JSONException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    			return position;
     
     
    	}
     
    	public long getItemId(int position) {
    		// TODO Auto-generated method stub
    		return (position);
    	}
     
    	public View getView(int position, View convertView, ViewGroup parent) {
    		// TODO Auto-generated method stub
     
    		LinearLayout layoutItem;
    		  //(1) : Réutilisation des layouts
    		  if (convertView == null) {
    		  	//Initialisation de notre item à partir du  layout XML "personne_layout.xml"
    		    layoutItem = (LinearLayout) mInflater.inflate(R.layout.affichageitemavis, parent, false);
    		  } else {
    		  	layoutItem = (LinearLayout) convertView;
    		  }
     
    		//(2) : Récupération des TextView de notre layout  
    		  TextView recupNomUtilisateur = (TextView)layoutItem.findViewById(R.id.nomUtilisateur);
              TextView recupDate = (TextView)layoutItem.findViewById(R.id.dateCommentaire);
              TextView recupCommentaire = (TextView)layoutItem.findViewById(R.id.recupCommentaire);
              TextView recupNoteCuisine = (TextView)layoutItem.findViewById(R.id.noteCuisine);
              TextView recupNoteQualite = (TextView)layoutItem.findViewById(R.id.noteQualite);
              TextView recupNoteService = (TextView)layoutItem.findViewById(R.id.noteService);
     
     
     
     
     
    		  //(3) : Renseignement des valeurs  
    		  try {
    			  json_data = maListe.getJSONObject(position);
    			  recupNomUtilisateur.setText(json_data.getString("name"));
    			  recupDate.setText(json_data.getString("date"));
    			  recupCommentaire.setText(json_data.getInt("commentaire"));
    			  recupNoteCuisine.setText(json_data.getInt("cuisine"));
    			  recupNoteQualite.setText(json_data.getInt("qp"));
    			  recupNoteService.setText(json_data.getInt("service"));
     
     
     
    		} catch (JSONException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
     
     
    		  /*//(4) Changement de la couleur du fond de notre item
    		  if (mListP.get(position).genre == Personne.MASCULIN) {
    		    layoutItem.setBackgroundColor(Color.BLUE);
    		  } else {
    		  	layoutItem.setBackgroundColor(Color.MAGENTA);
    		  }*/
     
    		  //On retourne l'item créé.
    		  return layoutItem;
    	}
     
    }
    avis.xml étant le Layout de mon activité, listviewavis étant l'id de ma List View dans avis.xml
    Enfin, affichageitemavis.xml est le layout qui défini chaque item de ma listView présent dans avis.xml

    Je vous remercie d'avance

  7. #47
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Points : 968
    Points
    968
    Par défaut
    Une question peut-être bête mais as-tu bien vérifié que le fichier de police est bien placé dans le répertoire assets et qu'il porte bien ce nom (et cette extension).
    Cela peut aussi être du au fait que cette police (verdana) soit privée (sous licence)

  8. #48
    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 faut aussi que cette police contienne tous les glyphes utilisé couramment par Android (le caractère "…", espace insécable ...).
    Il faudrait que je retrouve de la doc la-dessus moi x)
    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

  9. #49
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 345
    Points : 103
    Points
    103
    Par défaut
    Merci beaucoup, j'ai mal orthographié le fichier. Je m'excuse du dérangement pour une erreur si bête mais parfois en ayant tous le temps la tête dans le code on ne voit plus rien.

    Merci encore.

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 3 PremièrePremière 123

Discussions similaires

  1. Modif dans Listview
    Par petchy dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 18/03/2014, 11h04
  2. [OL-2003] modif police volet de lecture
    Par frediveut dans le forum Outlook
    Réponses: 1
    Dernier message: 03/11/2009, 22h05
  3. Modification police des axes sur un diagramme
    Par mikedavem dans le forum SAP Crystal Reports
    Réponses: 0
    Dernier message: 23/01/2008, 13h39
  4. Probleme lors de la modification de la police
    Par amelieh dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 24/10/2005, 17h12
  5. [W3C] Police d'écriture insensible aux modifs
    Par Gribouille26 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/09/2004, 13h36

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