2010-05-07 3 views
1

Мое приложение отображает ListView с кнопкой, которая позволяет пользователю добавлять элемент. Когда пользователь нажимает на эту кнопку, запускается другое действие, позволяющее пользователю заполнять новый элемент. Когда добавление завершено, мы возвращаемся к предыдущему Управлению с помощью ListView, и я хотел бы перейти к новому элементу. Обратите внимание, что этот элемент не обязательно находится в конце ListView, потому что есть «порядок», когда я извлекаю данные из базы данных.Как перейти к новому добавленному элементу в ListView

Я знаю, что мне нужна позиция курсора для нового элемента, чтобы сделать для него скриншот ListView, но единственная информация, которая у меня есть об этом элементе, - это его идентификатор, поэтому как преобразовать этот идентификатор в позицию курсора? Нужно ли мне курсировать на курсор, чтобы найти позицию?

Заранее спасибо

+1

У вас есть свой товар или представление с новым товаром? –

+0

не уверен, что понял ваш вопрос, активность, которая добавляет новый элемент, возвращает идентификатор базы данных элемента (столбец id), а затем, когда я вернусь в listView, я пополняю список запросом из базы данных, t знать, как прокручивать новый элемент только с идентификатором базы данных. – tbruyelle

ответ

2

Если бы я имел это право вашей деятельность возвращается новые элементы и чем вы запрашиваете снова все записи из базы данных, и только информация у вас есть идентификатор элементов. Если это сценарий, я думаю, что единственный вариант - перебрать все элементы в адаптере и найти правильный. Но в этом случае, возможно, лучше использовать ArrayAdapter. Когда второе действие возвращает новые идентификаторы, извлеките их только из db, а затем добавьте их в адаптер. Вы можете переопределить метод add (T), выполнив сортировку вставки, чтобы ваш адаптер был отсортирован, и вы можете сохранить индекс вновь вставленных элементов, а затем просто перейти к этой позиции.

+0

Да, вы правы, я, наконец, выбрал, чтобы перебрать курсор, чтобы найти положение элемента, как вы предлагаете здесь. Затем я вызываю 'getListView(). SetSelection (position)'. благодаря – tbruyelle

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