2013-12-12 2 views
0

Я использую привязку ListView и SimpleCursorAdapter. Он отлично работает, но мне нужно показать последний выбранный элемент listView в верхней части listView.
Я сохраняю позицию выбранного элемента в общих настройках, но как я могу заменить его на текущую позицию до вершины listView?Изменить порядок элементов в ListView

+0

какой тип макета вы используете? –

+0

u можете использовать arraylist – KOTIOS

+0

просто измените порядок строк, помещенных в ваш курсор (последний параметр в методе запроса) – pskink

ответ

1

Вы должны удалить выбранный элемент из списка и добавить его в «0» затем обновите адаптер списка.

String item = new String (yourSelectedItem); //replace "String" with your item type. 
dataList.remove(item); //dataList is your arrayList with the list's data 
dataList.add(0, item); 

listView.notifyDataSetChanged(); 
+0

Как я могу получить 'ArrayList' из' SimpleCursorAdapter'? – burnmyheaven

+0

Можете ли вы разместить свой код, пожалуйста? – SolArabehety

+0

'SimpleCursorAdapter mAdapter = новый SimpleCursorAdapter (this.getApplicationContext(), R.layout.items_var_entry, cursor, columns, to, 0); ListView listView = findViewById (// some id); listView.setAdapter (mAdapter); ' – burnmyheaven

0

вы можете обновить последний выбранный элемент в базе данных с полем, как SCORE, и получить курсор с SCORE, чтобы DESC

+0

Да, но я думаю, должен существовать способ сделать это без формирования специальных запросов. Я имею в виду, мне просто нужно переупорядочить 'ListView'. Разве это не тривиальная задача? – burnmyheaven

Смежные вопросы