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 :

Alimenter une listView depuis XML


Sujet :

Composants graphiques Android

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2011
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 91
    Points : 39
    Points
    39
    Par défaut Alimenter une listView depuis XML
    Bonjour,
    Je viens de parser un fichier xml et je l'affiche en tant que textview mais lorsque je veux l'afficher en tant que listView en passant par un adapteur et une listview cela pose un probleme
    quelqu'un peut me donner une idée?

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 66
    Points : 53
    Points
    53
    Par défaut
    moi je le fais... donc montre moi ton code et ton erreur...

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2011
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 91
    Points : 39
    Points
    39
    Par défaut
    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
     
    public class MyAdapter extends BaseAdapter{
     
    	// les données à afficher
    	private ArrayList<Data> data;
     
    	// * Le LayoutInflater permet de parser un layout XML et de 
    	// * te transcoder en IHM Android. Pour respecter l'interface 
    	// * BaseAdapter 
     
    	private LayoutInflater inflater;
     
    	public MyAdapter(Context context,ArrayList<Data> data) {
    		inflater = LayoutInflater.from(context);
    		this.data = data;
     
    	}
     
    	// * il nous faut spécifier la méthode "count()". 
    	// * Cette méthode permet de connaître le nombre d'items présent 
    	// * dans la liste. Dans notre cas, il faut donc renvoyer le nombre
    	// * de personnes contenus dans "mListP".
     
    	public int getCount() {
    		return data.size();
    	}
     
     
    	 // Permet de retourner un objet contenu dans la liste
     
    	public Object getItem(int index) {
    		return data.get(index);
    	}
     
    	public long getItemId(int index) {
    		return data.get(index).hashCode();
    	}
    public static class ViewHolder{
    	TextView text01;
    	TextView text02;
    	TextView text03;
     
    }
     
    public View getView(int position, View convertView, ViewGroup parent) {
    ViewHolder holder;
    if(convertView==null){
    	convertView=inflater.inflate(R.layout.listitem, null);
    	holder=new ViewHolder();
    	holder.text01=(TextView) convertView.findViewById(R.id.txtnom);
    	holder.text02=(TextView) convertView.findViewById(R.id.txtdetail);
    	holder.text03=(TextView) convertView.findViewById(R.id.txtdet);
    	convertView.setTag(holder);	
    }else{
    	holder=(ViewHolder) convertView.getTag();
     
    }
     
    holder.text01.setText((CharSequence) data.get(position).getCount());
    holder.text02.setText((CharSequence) data.get(position).getFichier());
    holder.text02.setText((CharSequence) data.get(position).gtTitre());
    return convertView;
    }
     
    }
    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
     
    public class ContainerData {	
     
    	static public Context context;
     
    	public ContainerData() {
     
    	}
     
     
    	public static Data getFeeds(){
    		// On passe par une classe factory pour obtenir une instance de sax
     
    		Data data = null;
    try {
     
    			/** Handling XML */
    			SAXParserFactory spf = SAXParserFactory.newInstance();
    			SAXParser sp = spf.newSAXParser();
    			XMLReader xr = sp.getXMLReader();
     
    			/** Send URL to parse XML Tags */
    			URL sourceUrl = new URL(
    					"http://oxiane.com/rest/GetFilieres");
     
    			/** Create handler to handle XML Tags ( extends DefaultHandler ) */
    			MyXMLHandler myXMLHandler = new MyXMLHandler();
    			xr.setContentHandler(myXMLHandler);
    			xr.parse(new InputSource(sourceUrl.openStream()));
     
    		} catch (Exception e) {
    			System.out.println("XML Pasing Excpetion = " + e);
    		}
     
    		/** Get result from MyXMLHandler SitlesList Object */
    		data = MyXMLHandler.data;
    		return data;
     
     
    }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public class ViewData extends Activity {
     
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.listitem);
            Bundle b = getIntent().getExtras();
            int index = b.getInt("position");
            Data e = ContainerData.getFeeds();
            ((TextView)findViewById(R.id.txtnom)).setText((CharSequence) e.getCount());
            ((TextView)findViewById(R.id.txtdet)).setText((CharSequence) e.getCount());
            ((TextView)findViewById(R.id.txtdetail)).setText((CharSequence) e.getFichier());
        }

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 66
    Points : 53
    Points
    53
    Par défaut
    Tu devrais utiliser un SimpleAdapter, sans créer une classe qui en hérite...

    prend exemple sur ce tuto : http://a-renouard.developpez.com/tut...ndroid/sqlite/

    je pense que ça t'aidera pour alimenter ta listView, ça me paraît un peu compliqué ce que tu fais

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mars 2011
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 91
    Points : 39
    Points
    39
    Par défaut
    non je devais remplir ma liste dynamiquement en parsant un fichier xml

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 66
    Points : 53
    Points
    53
    Par défaut
    bah personnellement mon algo à moi :

    -Récupération de mes infos du xml dans une classe
    -Je met les infos dans une hashmap après
    -Avec un simple adapter, j'adapte les éléments de ma hashmap sur les éléments de ma listview...

    et tout ça en dynamique

Discussions similaires

  1. Alimenter une listview avec une table access
    Par louraluy dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 19/05/2015, 15h18
  2. [XL-2007] Alimenter une Listview
    Par maxval18 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/01/2012, 16h37
  3. Filtrer une listView depuis un menu et sans utiliser d'EditText
    Par Invité dans le forum Composants graphiques
    Réponses: 4
    Dernier message: 20/07/2011, 12h58
  4. Réponses: 2
    Dernier message: 23/06/2008, 12h46
  5. [Image] charger une image depuis un fichier xml.
    Par Invité dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 21/11/2006, 15h59

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