Bonjour à tous,

je fait appel à vous car je suis coincé sur un de mes codes :

Je cherche à faire un filtre sur ma base de données en fonction de la valeur d'un spinner.

J'ai réussi à faire ce filtre avec des variables intégrées directement dans le code java :

Code java : 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
	public List<Bibliotheque> GetLivre() {

		String annee = "2012";
		
		// Récupération des livres en fonction de l'année et du type
		Cursor cursor = maBDD.query(BibliothequeOpenHelper.BIBLIOTHEQUE_TABLE_NAME,
				new String[] { BibliothequeOpenHelper.COLUMN_ID,
						BibliothequeOpenHelper.COLUMN_LIVRE,
						BibliothequeOpenHelper.COLUMN_AUTEUR,
						BibliothequeOpenHelper.COLUMN_ANNEE,
						BibliothequeOpenHelper.COLUMN_TYPE},
						BibliothequeOpenHelper.COLUMN_ANNEE + "=?" + " and "
						 + BibliothequeOpenHelper.COLUMN_TYPE + "=?", new String[] {annee, "roman"},
						null, null, null);
	
		return ConvertCursorToListObject(cursor);
	}

Grâce au code ci-dessus (dans mon fichier BilbliothequeRepository.java), j'arrive bien à retourner le filtre en fonction des infos que j’intègre directement dans le code.


Maintenant, j'ai fait une activité à part où j'ai intégré deux spinners. J'aimerai faire un filtre sur la base de données en fonction de la sélection du spinner.

J'ai essayé quelque chose de ce type :

Code java : 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
	public List<Bibliotheque> GetLivre() {

		//String annee = "2012";
		String spinner = String.valueOf(spinner2.getSelectedItem());
		
		// Récupération des livres en fonction de l'année et du type
		Cursor cursor = maBDD.query(BibliothequeOpenHelper.BIBLIOTHEQUE_TABLE_NAME,
				new String[] { BibliothequeOpenHelper.COLUMN_ID,
						BibliothequeOpenHelper.COLUMN_LIVRE,
						BibliothequeOpenHelper.COLUMN_AUTEUR,
						BibliothequeOpenHelper.COLUMN_ANNEE,
						BibliothequeOpenHelper.COLUMN_TYPE},
						BibliothequeOpenHelper.COLUMN_ANNEE + "=?" + " and "
						 + BibliothequeOpenHelper.COLUMN_TYPE + "=?", new String[] {spinner, "roman"},
						null, null, null);
	
		return ConvertCursorToListObject(cursor);
	}
-> Et donc avec ça, ça ne fonctionne pas.

Auriez-vous une solution ? Pouvez-vous me guider pour réaliser cette fonctionnalité ?

Merci d'avance.

Codialement