diff --git a/app/src/main/java/com/gh/gamecenter/db/AskSearchHistoryDao.java b/app/src/main/java/com/gh/gamecenter/db/AskSearchHistoryDao.java index 120a449bec..3ed14146bc 100644 --- a/app/src/main/java/com/gh/gamecenter/db/AskSearchHistoryDao.java +++ b/app/src/main/java/com/gh/gamecenter/db/AskSearchHistoryDao.java @@ -27,25 +27,30 @@ public class AskSearchHistoryDao { public void add(String key, String communityId) { try { - List all = getAll(communityId); - if (!all.contains(key)) dao.createOrUpdate(new AskSearchHistoryInfo(key, communityId)); + dao.createOrUpdate(createInfo(key, communityId)); } catch (SQLException e) { e.printStackTrace(); } } - public void delete(String item) { + private AskSearchHistoryInfo createInfo(String key, String communityId) { try { - dao.deleteById(item); + List his = dao.queryBuilder(). + orderBy("time", false). + where().eq("communityId", communityId). + query(); + for (AskSearchHistoryInfo next : his) { + if (next.getKey().equals(key)) dao.delete(next); + } } catch (SQLException e) { - e.printStackTrace(); } + + return new AskSearchHistoryInfo(key, communityId); } public void deleteAll() { - CloseableIterator iterator = dao.iterator(); while (iterator.hasNext()) { try {