Android List View установлен по умолчанию без анимации

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

Большое спасибо за ответ! Рассматривает пенни

Я думаю, что ListView.setSelection(int position) – это то, что вам нужно.

В моем приложении у меня была аналогичная потребность. Я использовал getListView().setSelection() чтобы определить положение списка, он отлично работает без прокрутки.

Если вы считаете, что есть 2 действия, ActivityA, который показывает список из курсора и ActivityB, который имеет форму для добавления нового элемента. По завершении ActivityB должен вернуть идентификатор курсора элемента, тогда ActivityB может получить позицию элемента с идентификатором и установить позицию, как этот код:

 /* check intent Id to scroll to the right item after update or delete */ if ( getIntent().hasExtra( ITEMID_INTENT_KEY ) ) { long id = getIntent().getLongExtra( ITEMID_INTENT_KEY, 0 ); int position = getPositionFromId( id ); getListView().setSelection( position > 0 ? position - 1 : 0 ); getIntent().removeExtra( ITEMID_INTENT_KEY ); } (...) private int getPositionFromId( long id ) { mCursor.moveToFirst(); do { Long cursorId = mCursor.getLong( mCursor.getColumnIndexOrThrow( yourIdColumn ) ); if ( cursorId.longValue() == id ) { return mCursor.getPosition(); } } while ( mCursor.moveToNext() ); return 0; }