il existe d'autres approches pour résoudre votre problème :
- exécuter l'instruction sql (sans limitation) au début et passer à l'entrée suivante du curseur lorsqu'une question reçoit une réponse correcte
- mettre en mémoire tampon les questions qui ont déjà reçu une réponse
la deuxième approche pourrait se faire comme suit :
d'abord, changez votre méthode et sql, y compris une clause where :
public Cursor getTestData(String whereClause)
{;
try
{
String sql ="SELECT * FROM tblPitanja WHERE 1 = 1 " + whereClause + " ORDER BY RANDOM() LIMIT 1";
[...]
deuxièmement, tamponnez les questions déjà répondues dans votre classe de jeu :
ajouter une LinkedList à votre classe de jeu
LinkedList<Long> mAnsweredQuestions = new LinkedList<Long>();
ajouter des questions déjà répondues à la LinkedList :
Cursor c = mDbHelper.getTestData(generateWhereClause());
mAnsweredQuestions.add(c.getLong(0));
List<Answer> labels = new ArrayList<Answer>();
[...]
ajoutez une fonction qui génère la clause where :
private String generateWhereClause(){
StringBuilder result = new StringBuilder();
for (Long l : mAnsweredQuestions){
result.append(" AND " + YOURID + " <> " + l);
}
return result.toString();
}