Вы можете создать столбец в базе данных с именем ordinal (тип integer), чтобы сохранить порядок, в котором вы хотите, чтобы элемент отображался в списке.Когда пользователь реорганизует список, измените порядковый номер соответственно.
РЕДАКТИРОВАТЬ:
После прочтения вашего обновления, я не думаю, что это будет работать, потому что, если пользователь изменит положение чего-либониже того, который вы обновляете?
Почему бы просто не обновить позицию каждого элемента в соответствии с позицией в их ListView?
Таким образом, один из методов вашей базы данных будет:
public boolean updateOrdinal(int itemId, int ordinal)
{
ContentValues c = new ContentValues();
c.put("ordinal", ordinal);
return db.update("TableName", c, kID + "=" + itemId, null) > 0;
}
Это будет вызвано после того, как пользователь "сохранит" список.Конечно, цикл должен вызывать это для каждого элемента.