Сортировка списка по сходству

#android #sqlite #android-sqlite #android-arrayadapter

#Android #sqlite #android-sqlite #android-arrayadapter

Вопрос:

У меня есть приложение для задач.

Его таблица создается

 String createTable = "CREATE TABLE "   TaskContract.TaskEntry.TABLE   " ( "  
                TaskContract.TaskEntry._ID   " INTEGER PRIMARY KEY AUTOINCREMENT, "  
                TaskContract.TaskEntry.COL_TASK_TITLE   " TEXT NOT NULL);";
  

Моя цель — перечислить эти элементы в listview с помощью listviewadapter таким образом, чтобы похожие TASK_TITLE элементы были сгруппированы вместе.

Пример listview

 Go running 2 times
40 tomatoes
Go running 5 times
Go hunting
Buy two running shoes
tomatoes, 400g
  

должно быть

 Go running 2 times
Go running 5 times
Buy two running shoes
40 tomatoes
tomatoes, 400g
Go hunting
  

как

 Go running 2 times
Go running 5 times
Buy two running shoes
  

содержит running и

 40 tomatoes
tomatoes, 400g
  

содержит tomatoes

Комментарии:

1. Вы очень старались, но ваш вопрос сейчас недостаточно ясен. можете ли вы быть более конкретным? Возможно, также добавьте несколько строк данных.

2. Что, если вместо Buy two running shoes значения будет Buy two running tomatoes ? Вы подумали обо всех возможностях?

3. @forpas Спасибо за подсказку. После того, как вы написали это, я понял, что это можно решить с помощью существительных и глаголов. Глаголы ранжируются ниже, чем существительные. Поэтому, Buy two running tomatoes пошел бы tomatoes , а не running .

4. Есть ли у вас какой-то словарь, который можно хранить в базе данных SQLite, где слова могут быть определены как существительные, глаголы и т.д.? Потому что, насколько я знаю, на этом уровне программирования приложений для Android нет способа различать эти категории.

5. @ADM это достаточно конкретно.

Ответ №1:

Создайте новый список (list2).

 for(i=0;i<list1.size;i  ){  
   if(list1[i].contains("running")), add to list2.  
   if(list1[i].contains("tomatoes")), add to list2.
}
  

отрегулируйте условия, как я только что намекнул на поток. Это должно решить проблему.
назначьте список 2 адаптеру.

Комментарии:

1. Вы думаете, это смешно?