Aller au contenu

afficher plusieurs requêtes SQL dans une listview


Recommended Posts

Bonjour à tous,

Je bloque depuis plusieurs jours sur un petit problème.

J’essaie d’afficher dans une listview de ma ListActivity le résultat de 2 requêtes sql différentes. J’ai essayé plein de méthodes mais sans succès.Je sais pas si le problème vient des adapter de la listview ou de la listactivity. Que pouvez vous me proposez ?

je vous joint une partie de mon code

public class Direction extends ListActivity implements OnClickListener {
   /** Called when the activity is first created. */

DatabaseHelper db;

   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.ligne);

       db = new DatabaseHelper(this);
       try {db.createDataBase();}catch (IOException ioe) {throw new Error("Unable to create database");}
	try {db.openDataBase();}catch(SQLException sqle){throw sqle;}

	//recuperation de la variable de l'activity père
	Bundle extras = getIntent().getExtras();
	String point= extras.getString("point");

       DataBind(point);
   }

   public void DataBind(String point){

   	Cursor x1 = db.getx1(point);
   	startManagingCursor(x1);
   	SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
   	R.layout.liste_item,x1,new String[]{"nom_point"},new int[]{R.id.textTitre});
   	setListAdapter(adapter);

   	Cursor x2 = db.getx2(point);
   	startManagingCursor(x2);
   	SimpleCursorAdapter adapter2 = new SimpleCursorAdapter(this,
   	R.layout.liste_item,x2,new String[]{"nom_point"},new int[]{R.id.textTitre});
   	setListAdapter(adapter2);


   }

fichier xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">

<ListView
   android:layout_width="fill_parent" 
   android:layout_height="fill_parent"
   android:id="@android:id/list"
   />
</LinearLayout>

Merci

Lien vers le commentaire
Partager sur d’autres sites

Tu ne peux avoir qu'un seul Adapter affecté à une ListView

Soit tu peux ne faire qu'une seule requête SQL retournant l'ensemble des résultats (mais cela dépend de la structure de tes tables)

Soit tu passes par un autre type d'Adapter dans lequel tu inséreras la concaténation des résultats des 2 requêtes

Lien vers le commentaire
Partager sur d’autres sites

Merci pour l'info,

J'ai essayé vite fait la 2ème méthode que tu propose mais je ne m'était pas assez penché dessus. Le truc c'est que j'ai tellement essayé de méthodes que j'ai pas réussi à coder, que je me suis dit que sa marcherai pas.

J'avais pensez à un incorporer 2 listview et pour chaque listview une requête différentes tout cela dans une même activity. A ton avis est-ce que cela est possible?

Lien vers le commentaire
Partager sur d’autres sites

Tu peux avoir plusieurs ListView dans ton Activity. Mais, dans ce cas, il faut mieux les gérer 'à la main' (ie. ne pas hériter de ListActivity, juste d'Activity). Et tes deux listes seront complètement séparées, et, visuellement, pas sûr que cela soit simple à arranger...

Lien vers le commentaire
Partager sur d’autres sites

Ok, je crois que je vais me diriger vers cette solution. De toute façon je voulais pas mélanger le résultat des 2 requêtes. Merci pour ton avis en tout cas :). Si quelqu'un veut proposez une autre solution, je suis ouvert.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...