der er flere metoder til at løse dit problem:
- udfør sql-sætningen (uden begrænsning) i begyndelsen og flyt til næste indtastning af markøren, når et spørgsmål er besvaret korrekt
- buffer de spørgsmål, som allerede er besvaret
den anden fremgangsmåde kunne gøres som følger:
først skal du ændre din metode og sql, inklusive en where-klausul:
public Cursor getTestData(String whereClause)
{;
try
{
String sql ="SELECT * FROM tblPitanja WHERE 1 = 1 " + whereClause + " ORDER BY RANDOM() LIMIT 1";
[...]
for det andet, buffer de allerede besvarede spørgsmål i din spilklasse:
tilføje en LinkedList til din spilklasse
LinkedList<Long> mAnsweredQuestions = new LinkedList<Long>();
tilføj allerede besvarede spørgsmål til LinkedList:
Cursor c = mDbHelper.getTestData(generateWhereClause());
mAnsweredQuestions.add(c.getLong(0));
List<Answer> labels = new ArrayList<Answer>();
[...]
tilføje en funktion, som genererer where-sætningen:
private String generateWhereClause(){
StringBuilder result = new StringBuilder();
for (Long l : mAnsweredQuestions){
result.append(" AND " + YOURID + " <> " + l);
}
return result.toString();
}