Intereting Posts
Bitmapshader и canvas.scaling android В Android-проекте в Eclipse отсутствует папка с библиотекой Android 4.2.2 Проверка ошибок при попытке переноса приложения Android на BlackBerry 10 Как я могу заставить свое устройство вибрировать? Как правильно клонировать проект Android с помощью Eclipse и Mercurial Android MIDI Threading InteruptedException – сообщения Aftertouch Поддержка GreenDao для уникального ограничения на несколько столбцов Не удалось сгенерировать предпочтения, класс java / lang / AutoCloseable не найден в C: \ Program Files (x86) \ Android \ android-sdk \ platform \ android-19 \ android.jar RecyclerView не учитывает перевод при переработке просмотров Android: как мы можем выполнить backport withEndAction для более старых версий, с помощью Nine Old Androids Android Lint – Как скрыть предупреждение «Ресурс Xxx кажется неиспользуемым» Отобразите значок приложения, если контакт связан с приложением в телефонной адресной книге Назад с помощью фрагментов / панели инструментов Android: Как я могу создать массив Drawable? Запись видео с Сервиса

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; }