Selon ce poste: Multiple, combined OR conditions in ORMLitemultiples ou déclarations contenues dans ORMLite
Je veux faire des requêtes qui peuvent dépendre ArrayList de la condition et des chaînes en fonction
List<String> cat = new ArrayList<String>();
List<Person> line = new ArrayList<>();
Dao<Person, Integer> personDAO = getHelper().getPersonDAO();
cat.add("category1");
cat.add("category2");
QueryBuilder<Person, Integer> queryBuilder = personDAO.queryBuilder();
Where<Person, Integer> where = queryBuilder.where();
if(filterOn)
for (int i = 0; i < cat.size(); ++i)
where.eq("category", cat.get(i)).or().eq("name", cat.get(i));
where.or(cat.size());
if(searchBar.size()!=0){
for (int i = 0; i < cat.size(); ++i)
where.eq("category", cat.get(i)).or().eq("name", cat.get(i));
where.like("category", constrainName).or().like("name", constrainName);
where.or(cat.size()+1);
}
line = personDAO.queryBuilder().query();
Mais Ive a obtenu jeter de l'application sans exception à chaque fois que la première itération de boucle est terminée
MISE À JOUR: Je résous mon problème. solution était:
for (int i = 0; i < cat.size(); ++i)
where.eq("category",cat.get(i)).or().eq("name",cat.get(i));
where.or(cat.size());
if(data){
where.like("category", t).or().like("name", t);
l = personDAO.query(where.and(2).prepare());
} else
l = personDAO.query(where.or(1).prepare());
"Jeté hors application". Euh Vous voulez dire que la JVM a démissionné de vous? Si votre application s'est arrêtée alors il y a des chances qu'il y ait eu une exception. – Gray