hay más enfoques para resolver su problema:
- ejecutar la instrucción sql (sin limitación) al principio y pasar a la siguiente entrada del cursor cuando una pregunta se responda correctamente
- amortigua las preguntas que ya fueron respondidas
el segundo enfoque podría hacerse de la siguiente manera:
primero, cambie su método y sql, incluida una cláusula where:
public Cursor getTestData(String whereClause)
{;
try
{
String sql ="SELECT * FROM tblPitanja WHERE 1 = 1 " + whereClause + " ORDER BY RANDOM() LIMIT 1";
[...]
segundo, amortigua las preguntas ya respondidas en tu clase de juego:
agregue una LinkedList a su clase de juego
LinkedList<Long> mAnsweredQuestions = new LinkedList<Long>();
agregar preguntas ya respondidas a LinkedList:
Cursor c = mDbHelper.getTestData(generateWhereClause());
mAnsweredQuestions.add(c.getLong(0));
List<Answer> labels = new ArrayList<Answer>();
[...]
agregue una función que genere la cláusula where:
private String generateWhereClause(){
StringBuilder result = new StringBuilder();
for (Long l : mAnsweredQuestions){
result.append(" AND " + YOURID + " <> " + l);
}
return result.toString();
}