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 :

Affichage données dans listView


Sujet :

Composants graphiques Android

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Points : 132
    Points
    132
    Par défaut Affichage données dans listView
    Bonjour,

    Je réalise une appli qui insère des données dans une base de données contenu dans un fichier XML et ensuite qui doit les afficher dans un listview. J'ai réussi à insérer les données dans la base mais le problème maintenant c'est que je n'arrive pas à les afficher dans le listView. Je dois avoir:
    Client
    Adresse
    nombre colis montant total
    Voici mes classes:
    package http:
    classe LitFichier:
    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
    public class LitFichier extends AsyncTask<String, Void, Boolean>{
     
    	private List<Livraison> lesLivraisons;
     
    	@Override
    	protected Boolean doInBackground(String... urls) {
    		URL url;
    		try {
    			url = new URL(urls[0]);
    			MaSaxHandler handler = new MaSaxHandler();
    			InputStream inputStream;
    			inputStream = url.openConnection().getInputStream();
     
    			handler.parse(inputStream);
    	        lesLivraisons = handler.getLesLivraisons();
     
    	        return true;
    		} catch (MalformedURLException e) {
    			return false;
    		} catch (IOException e) {
    			return false;
    		} catch (ParserConfigurationException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} catch (SAXException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		return null;
    	}
     
    	public List<String> donneLivraisons(){
    		List<String> liste = new ArrayList<String>();
    		for (Livraison livraison : lesLivraisons)
    			liste.add(livraison.toString());
    		return liste;
    	}
     
    	public List<Livraison> getLivraisons(){
    		List<Livraison> liste = new ArrayList<Livraison>();
    		for (Livraison livraison : lesLivraisons)
    			liste.add(livraison);
    		return liste;
    	}
    }
    package xml:
    MaSaxHandler:
    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
    public class MaSaxHandler extends DefaultHandler {
     
    	   private Livraison livraison;
    	   private List<Livraison> lesLivraisons = new ArrayList<Livraison>();
    	   private Colis colis;
    	   private String valeur;
     
    	   public void parse(InputStream is) throws ParserConfigurationException, SAXException, IOException{
    		   SAXParserFactory factory = SAXParserFactory.newInstance();
    		   SAXParser parser=factory.newSAXParser();
    		   parser.parse(is,this);
    	   }
    	   public void startElement( String uri, String localName, String qName, Attributes attributes)
    			   throws SAXException {
    		   if (localName.equals("livraison"))  livraison = new Livraison();
    		   if (localName.equals("colis")) colis = new Colis();
    	   }
    	   public void characters(char[] ch,int start, int length) throws SAXException{
    			valeur = new String(ch,start,length);
    		}
    	   public void endElement( String uri, String localName,String qName) throws SAXException {
    	        if (localName.equals("livraison")) {
    	        	lesLivraisons.add(livraison);
    	        }else if (localName.equals("client")){
    	        	livraison.setClient(valeur);
    	        }else if (localName.equals("adresse")){
    	        	livraison.setAdresse(valeur);
    	        }else if (localName.equals("colis")){
    	        	livraison.addColis(colis);
    	        }else if (localName.equals("ref")){
    	        	colis.setRef(valeur);
    	        }else if (localName.equals("montant")){
    	        	double monLong= Double.parseDouble(valeur);
    	        	colis.setMontant(monLong);
    	        }
    	    }
    	   public List<Livraison> getLesLivraisons() {
    		   return lesLivraisons;
    	   }
    }
    package métier:
    classe Livraison:
    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
    public class Livraison {
     
    	private long id = 0;
    	private String client;
    	private String adresse;
    	private List<Colis> lesColis;
     
    	public Livraison(String client, String adresse) {
    		this.client = client;
    		this.adresse = adresse;
    	}
     
    	public Livraison(){
    		super();
    		lesColis = new ArrayList<Colis>();
    	}
     
    	public long getId(){
    		return id;
    	}
     
    	public String getClient(){
    		return client;
    	}
     
    	public String getAdresse(){
    		return adresse;
    	}
     
    	public List<Colis> getLesColis(){
    		return lesColis;
    	}
     
    	public void setLesColis(List<Colis> lesColis){
    		this.lesColis = lesColis;
    	}
     
    	public void setClient(String client) {
    		this.client = client;
    	}
     
    	public void setAdresse(String adresse) {
    		this.adresse = adresse;
    	}
     
    	public void addColis(Colis unColis){
    		lesColis.add(unColis);
    	}
     
    	public String toString(){
    		String chaine = "Livraison : client : "+client+" => adresse : "+adresse+" \nLes colis :";
    		for (Colis unColis : lesColis){
    			chaine = chaine + "\n"+unColis.toString();		
    		}
    		return chaine;
    	}
    }
    classe Colis:
    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
    public class Colis {
     
    	private String ref;
    	private double montant;
    	private long idLivraison;
     
    	public Colis(long idLivraison, double montant, String ref) {
    		super();
    		this.idLivraison = idLivraison;
    		this.montant = montant;
    		this.ref = ref;
    	}
     
    	public Colis(){
    		super();
    	}
     
    	public double getMontant() {
    		return montant;
    	}
     
    	public long getIdLivraison() {
    		return idLivraison;
    	}
     
    	public String getRef(){
    		return ref;
    	}
     
    	public void setIdLivraison(long id){
    		this.idLivraison = id;
    	}
     
    	public void setRef(String ref) {
    		this.ref = ref;
    	}
     
    	public void setMontant(double montant) {
    		this.montant = montant;
    	}
     
    	public String toString(){
    		return "Colis : référence : "+ref+" => montant : "+montant;
    	}
    }
    classe GestionBD:
    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
    public class GestionBD {
    	private SQLiteDatabase maBase;
    	private BdHelper monBdHelper;
     
    	public GestionBD(Context context) {
     
    		monBdHelper = new BdHelper(context, "baseLivraison", null, 1);
    	}
     
    	public void open(){
    		maBase = monBdHelper.getWritableDatabase();
    	}
     
    	public void init(List<Livraison> lesLivraisons){
    		open();
    		supprimeColis();
    		supprimeLivraisons();
     
    		try{
     
    			for (Livraison l : lesLivraisons){
    				Livraison livraisonACreer = new Livraison(); 
    				livraisonACreer.setClient(l.getClient());
    				livraisonACreer.setAdresse(l.getAdresse());
    				long id;
    				id = ajouteLivraison(livraisonACreer);
     
    				List<Colis> listeColis = l.getLesColis();
    				for (Colis c : listeColis){
    					Colis colisACreer = new Colis();
    					colisACreer.setIdLivraison(id);
    					colisACreer.setRef(c.getRef());
    					colisACreer.setMontant(c.getMontant());
    					ajouteColis(colisACreer);
    				}
    			}
    		}
    		catch(Exception e){
    			e.printStackTrace(); 
    		}
    	}
     
    	public void close(){
    		maBase.close();
    	}
    	public long ajouteLivraison(Livraison livraison){
    		ContentValues v = new ContentValues();
    		v.put("client", livraison.getClient());
    		v.put("adresse", livraison.getAdresse());
    		return maBase.insert("livraison", null, v);
    	}
    	public void ajouteColis(Colis colis){
    		ContentValues v = new ContentValues();
    		v.put("idlivraison", colis.getIdLivraison());
    		v.put("ref", colis.getRef());
    		v.put("montant", colis.getMontant());
    		maBase.insert("colis", null, v);
    	}
     
     
    	public void supprimeLivraisons(){
    		maBase.delete("livraison", null, null);
    	}
     
    	public void supprimeColis(){
    		maBase.delete("colis", null, null);
    	}
     
    	public ArrayList<String> donneInfo(){
    		ArrayList<String> liste = new ArrayList<String>();
    		Cursor c = maBase.rawQuery("select client, adresse, count(*) as nbColis, sum(montant) as montant from livraison" +
    				" left outer join colis on id=idlivraison group by id order by client",null);
    		while (c.moveToNext()) liste.add(c.getString(0)+" "+c.getString(1)+" "+c.getString(2)+" "+c.getDouble(3));
    		return liste;
    	}
    }
    classe BdHelper:
    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
    public class BdHelper extends SQLiteOpenHelper {
     
    	public BdHelper(Context context, String name, CursorFactory factory,
    			int version) {
    		super(context, name, factory, version);
    		// TODO Auto-generated constructor stub
    	}
    	@Override
    	public void onCreate(SQLiteDatabase db) {
    		// TODO Auto-generated method stub
    		String req = "create table livraison(id integer primary key autoincrement, client text, adresse text)";
    		db.execSQL(req);
    		req = "create table colis(ref text, montant real, idlivraison integer, foreign key (idlivraison) references livraison(id))";
    		db.execSQL(req);
    	}
     
     
    	@Override
    	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    		// TODO Auto-generated method stub
    	}
    }
    Activité principal:
    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
    public class MainActivity extends Activity implements OnItemClickListener {
     
    	private ListView listView;
     
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
     
    		GestionBD gestionBD = new GestionBD(this);
     
    		LitFichier litFichier = new LitFichier();
    		litFichier.execute("http://192.168.1.16/livraisons.xml");
     
    		try {
    			if (litFichier.get())
    			{	
    				gestionBD.init(litFichier.getLivraisons());
     
    				listView = (ListView) findViewById(R.id.listView1);
     
    				for (String ligne : gestionBD.donneInfo()){
    					SimpleAdapter adapter = new SimpleAdapter(this, ligne, R.layout.liste_client,
    							new String[] { "client", "adresse", "nbColis" ,"montant"},
    							new int[] {R.id.client, R.id.adresse, R.id.nbColis, R.id.mtColis });
     
    					listView.setAdapter(adapter);
    					listView.setOnItemClickListener(this);
    				}
     
     
     
     
    				for (String ligne : gestionBD.donneInfo()) Log.i("bd", ligne);
     
    			}		
    			else
    				Log.i("lithttp", "Problème lecture fichier");
    		} catch (InterruptedException e) {
    			Log.i("lithttp", "Interruption lecture fichier");
    		} catch (ExecutionException e) {
    			Log.i("lithttp", "Problème exécution");
    		}
    	}
     
    	@SuppressWarnings("unchecked")
    	@Override
    	public void onItemClick(AdapterView<?> parent, View view, int position, long id) {		
    		Toast.makeText(MainActivity.this, "cliqué sur "+
    				((HashMap<String, String>) listView.getAdapter().getItem(position)).get("client"),
    				Toast.LENGTH_SHORT).show();
    	}	
     
    }
    C'est ici que je bloque:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    				for (String ligne : gestionBD.donneInfo()){
    					SimpleAdapter adapter = new SimpleAdapter(this, ligne, R.layout.liste_client,
    							new String[] { "client", "adresse", "nbColis" ,"montant"},
    							new int[] {R.id.client, R.id.adresse, R.id.nbColis, R.id.mtColis });
     
    					listView.setAdapter(adapter);
    					listView.setOnItemClickListener(this);
    				}
    Merci de votre aide

  2. #2
    Candidat au Club
    Homme Profil pro
    Android developpeur
    Inscrit en
    Janvier 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Android developpeur

    Informations forums :
    Inscription : Janvier 2014
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Logcat ?
    Salut ,

    J'ai récemment fait une appui de la meme allure je pourrais peut être t'aider..
    Que te donne le Logcat ?

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Points : 132
    Points
    132
    Par défaut
    je peux pas exécuté mon programme les erreurs m'en empêche

  4. #4
    Candidat au Club
    Homme Profil pro
    Android developpeur
    Inscrit en
    Janvier 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Android developpeur

    Informations forums :
    Inscription : Janvier 2014
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par totot Voir le message
    je peux pas exécuté mon programme les erreurs m'en empêche

    Oui Justement que te donne ces erreurs.. fait un coller de ton logcat d'error sinon on peut pas savoir quel erreurs tu as

  5. #5
    Débutant  
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Points : 132
    Points
    132
    Par défaut
    The constructor SimpleAdapter(MainActivity, String, int, String[], int[]) is undefined

  6. #6
    Débutant  
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Points : 132
    Points
    132
    Par défaut
    J'ai modifier quelque classe mais sa fonctionne toujours pas:
    Livraison:
    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
    public class Livraison {
     
    	private long id = 0;
    	private String client;
    	private String adresse;
    	private List<Colis> lesColis;
    	private String nbColis;
    	private String mtTotal;
     
    	public Livraison(String client, String adresse) {
    		this.client = client;
    		this.adresse = adresse;
    	}
     
    	public Livraison(){
    		super();
    		lesColis = new ArrayList<Colis>();
    	}
     
    	public Livraison(String client, String adresse, String nbColis, String mtTotal) {
    		super();
    		this.client = client;
    		this.adresse = adresse;
    		this.nbColis = nbColis;
    		this.mtTotal = mtTotal;
    	}
     
    	public long getId(){
    		return id;
    	}
     
    	public String getClient(){
    		return client;
    	}
     
    	public String getAdresse(){
    		return adresse;
    	}
     
    	public String getNbColis(){
    		return nbColis;
    	}
     
    	public String getMtTotal(){
    		return mtTotal;
    	}
     
    	public List<Colis> getLesColis(){
    		return lesColis;
    	}
     
    	public void setLesColis(List<Colis> lesColis){
    		this.lesColis = lesColis;
    	}
     
    	public void setClient(String client) {
    		this.client = client;
    	}
     
    	public void setAdresse(String adresse) {
    		this.adresse = adresse;
    	}
     
    	public void addColis(Colis unColis){
    		lesColis.add(unColis);
    	}
     
    	public String toString(){
    		String chaine = "Livraison : client : "+client+" => adresse : "+adresse+" \nLes colis :";
    		for (Colis unColis : lesColis){
    			chaine = chaine + "\n"+unColis.toString();		
    		}
    		return chaine;
    	}
     
    	public HashMap<String, String> donneLivraison(){
    		HashMap<String, String> ligne = new HashMap<String, String>();
    		ligne.put("client", client);
    		ligne.put("adresse", adresse);
    		ligne.put("nbColis", nbColis);
    		ligne.put(mtTotal, mtTotal);
    		return ligne;	
    	}
    }
    GestionBD:
    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
    public class GestionBD extends ArrayList<Livraison>{
    	private SQLiteDatabase maBase;
    	private BdHelper monBdHelper;
     
    	public GestionBD(Context context) {
     
    		monBdHelper = new BdHelper(context, "baseLivraison", null, 1);
    	}
     
    	public void open(){
    		maBase = monBdHelper.getWritableDatabase();
    	}
     
    	public void init(List<Livraison> lesLivraisons){
    		open();
    		supprimeColis();
    		supprimeLivraisons();
     
    		try{
     
    			for (Livraison l : lesLivraisons){
    				Livraison livraisonACreer = new Livraison(); 
    				livraisonACreer.setClient(l.getClient());
    				livraisonACreer.setAdresse(l.getAdresse());
    				long id;
    				id = ajouteLivraison(livraisonACreer);
     
    				List<Colis> listeColis = l.getLesColis();
    				for (Colis c : listeColis){
    					Colis colisACreer = new Colis();
    					colisACreer.setIdLivraison(id);
    					colisACreer.setRef(c.getRef());
    					colisACreer.setMontant(c.getMontant());
    					ajouteColis(colisACreer);
    				}
    			}
    		}
    		catch(Exception e){
    			e.printStackTrace(); 
    		}
    	}
     
    	public void close(){
    		maBase.close();
    	}
    	public long ajouteLivraison(Livraison livraison){
    		ContentValues v = new ContentValues();
    		v.put("client", livraison.getClient());
    		v.put("adresse", livraison.getAdresse());
    		return maBase.insert("livraison", null, v);
    	}
    	public void ajouteColis(Colis colis){
    		ContentValues v = new ContentValues();
    		v.put("idlivraison", colis.getIdLivraison());
    		v.put("ref", colis.getRef());
    		v.put("montant", colis.getMontant());
    		maBase.insert("colis", null, v);
    	}
     
     
    	public void supprimeLivraisons(){
    		maBase.delete("livraison", null, null);
    	}
     
    	public void supprimeColis(){
    		maBase.delete("colis", null, null);
    	}
     
    	public ArrayList<String> donneLivraisons(){
    		ArrayList<String> liste = new ArrayList<String>();
    		Cursor c = maBase.rawQuery("select id, client, adresse from livraison order by client",null);
    		while (c.moveToNext())
    			liste.add( c.getString(0)+" "+c.getString(1)+" "+c.getString(2));
    		return liste;
    	}
    	public ArrayList<String> donneColis(){
    		ArrayList<String> liste = new ArrayList<String>();
    		Cursor c = maBase.rawQuery("select client, count(*), sum(montant) as montant from livraison" +
    				" left outer join colis on id=idlivraison group by id order by client",null);
    		while (c.moveToNext()) liste.add(c.getString(0)+" "+c.getString(1)+" "+c.getDouble(2));
    		return liste;
    	}
     
    	public  ArrayList<HashMap<String, String>> donneInfo(){
    		ArrayList<HashMap<String, String>> liste = new ArrayList<HashMap<String, String>>();
    		Livraison livraison;
    		Cursor c = maBase.rawQuery("select client, adresse, count(*) as nbColis, sum(montant) as montant from livraison" +
    				" left outer join colis on id=idlivraison group by client, adresse order by client",null);
    		while (c.moveToNext()) {
    			livraison = new Livraison(c.getString(1),c.getString(2),c.getString(3), c.getString(4));
    			liste.add(livraison.donneLivraison());
    		}
    		for (Livraison laLivraison : this)
    			liste.add(laLivraison.donneLivraison());
     
     
    		return liste;
    }
    }
    Activité principale:
    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
    public class MainActivity extends Activity implements OnItemClickListener {
     
    	private ListView listView;
     
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
     
    		GestionBD gestionBD = new GestionBD(this);
     
    		LitFichier litFichier = new LitFichier();
    		litFichier.execute("http://192.168.1.16/livraisons.xml");
     
    		try {
    			if (litFichier.get())
    			{	
    				gestionBD.init(litFichier.getLivraisons());
     
    				listView = (ListView) findViewById(R.id.listView1);
     
    				ArrayList<HashMap<String, String>> liste = gestionBD.donneInfo();
    				SimpleAdapter adapter = new SimpleAdapter(this, liste, R.layout.liste_client,
    						new String[] { "client", "adresse", "nbColis" ,"montant"},
    						new int[] {R.id.client, R.id.adresse, R.id.nbColis, R.id.mtColis });
     
    				listView.setAdapter(adapter);
    				listView.setOnItemClickListener(this);
     
     
     
    			}		
    			else
    				Log.i("lithttp", "Problème lecture fichier");
    		} catch (InterruptedException e) {
    			Log.i("lithttp", "Interruption lecture fichier");
    		} catch (ExecutionException e) {
    			Log.i("lithttp", "Problème exécution");
    		}
    	}
     
    	@SuppressWarnings("unchecked")
    	@Override
    	public void onItemClick(AdapterView<?> parent, View view, int position, long id) {		
    		Toast.makeText(MainActivity.this, "cliqué sur "+
    				((HashMap<String, String>) listView.getAdapter().getItem(position)).get("client"),
    				Toast.LENGTH_SHORT).show();
    	}	
     
    }
    Voilà les erreurs que j'ai au lancement:
    05-27 08:31:32.920: E/AndroidRuntime(1203): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.amap/com.example.amap.MainActivity}: java.lang.IllegalStateException: Couldn't read row 0, col 4 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it.
    05-27 08:31:32.920: E/AndroidRuntime(1203): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
    05-27 08:31:32.920: E/AndroidRuntime(1203): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
    05-27 08:31:32.920: E/AndroidRuntime(1203): at android.app.ActivityThread.access$800(ActivityThread.java:135)
    05-27 08:31:32.920: E/AndroidRuntime(1203): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
    05-27 08:31:32.920: E/AndroidRuntime(1203): at android.os.Handler.dispatchMessage(Handler.java:102)
    05-27 08:31:32.920: E/AndroidRuntime(1203): at android.os.Looper.loop(Looper.java:136)
    05-27 08:31:32.920: E/AndroidRuntime(1203): at android.app.ActivityThread.main(ActivityThread.java:5017)
    05-27 08:31:32.920: E/AndroidRuntime(1203): at java.lang.reflect.Method.invokeNative(Native Method)
    05-27 08:31:32.920: E/AndroidRuntime(1203): at java.lang.reflect.Method.invoke(Method.java:515)
    05-27 08:31:32.920: E/AndroidRuntime(1203): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
    05-27 08:31:32.920: E/AndroidRuntime(1203): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
    05-27 08:31:32.920: E/AndroidRuntime(1203): at dalvik.system.NativeStart.main(Native Method)
    05-27 08:31:32.920: E/AndroidRuntime(1203): Caused by: java.lang.IllegalStateException: Couldn't read row 0, col 4 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it.
    05-27 08:31:32.920: E/AndroidRuntime(1203): at android.database.CursorWindow.nativeGetString(Native Method)
    05-27 08:31:32.920: E/AndroidRuntime(1203): at android.database.CursorWindow.getString(CursorWindow.java:434)
    05-27 08:31:32.920: E/AndroidRuntime(1203): at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:51)
    05-27 08:31:32.920: E/AndroidRuntime(1203): at metier.GestionBD.donneInfo(GestionBD.java:101)
    05-27 08:31:32.920: E/AndroidRuntime(1203): at com.example.amap.MainActivity.onCreate(MainActivity.java:43)
    05-27 08:31:32.920: E/AndroidRuntime(1203): at android.app.Activity.performCreate(Activity.java:5231)
    05-27 08:31:32.920: E/AndroidRuntime(1203): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
    05-27 08:31:32.920: E/AndroidRuntime(1203): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
    05-27 08:31:32.920: E/AndroidRuntime(1203): ... 11 more

  7. #7
    Débutant  
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Points : 132
    Points
    132
    Par défaut
    J'ai l'impression que c'est ici que sa merde:
    livraison = new Livraison(c.getString(1),c.getString(2),c.getString(3), c.getString(4));

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

Discussions similaires

  1. Problème affichage données dans listview
    Par Alixe80 dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 13/05/2008, 20h42
  2. affichage de donnée dans LISTVIEW
    Par k_boy dans le forum VC++ .NET
    Réponses: 16
    Dernier message: 13/09/2006, 13h13
  3. Réponses: 3
    Dernier message: 01/06/2006, 19h45
  4. [SQL] Moteur de recherche problème affichage donnée dans select
    Par vincedjs dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 07/04/2006, 20h27
  5. [SQL-Server] Pb affichage données dans tableau
    Par steve o'steen dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 14/03/2006, 09h29

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