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

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

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

Solutions Collecting From Web of "Android List View установлен по умолчанию без анимации"

Я думаю, что 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; }