er zijn meer manieren om uw probleem op te lossen:
- voer de sql-instructie uit (zonder beperking) aan het begin en ga naar de volgende invoer van de cursor wanneer een vraag correct is beantwoord
- buffer de vragen die al beantwoord zijn
de tweede benadering kan als volgt worden gedaan:
verander eerst je methode en sql, inclusief een waar-clausule:
public Cursor getTestData(String whereClause)
{;
try
{
String sql ="SELECT * FROM tblPitanja WHERE 1 = 1 " + whereClause + " ORDER BY RANDOM() LIMIT 1";
[...]
ten tweede, buffer de reeds beantwoorde vragen in je spelklasse:
voeg een LinkedList toe aan je spelklasse
LinkedList<Long> mAnsweredQuestions = new LinkedList<Long>();
voeg reeds beantwoorde vragen toe aan de LinkedList:
Cursor c = mDbHelper.getTestData(generateWhereClause());
mAnsweredQuestions.add(c.getLong(0));
List<Answer> labels = new ArrayList<Answer>();
[...]
voeg een functie toe die de waar-clausule genereert:
private String generateWhereClause(){
StringBuilder result = new StringBuilder();
for (Long l : mAnsweredQuestions){
result.append(" AND " + YOURID + " <> " + l);
}
return result.toString();
}