Как перейти к дочернему элементу в ListActivity - PullRequest
1 голос
/ 17 марта 2011

У меня есть класс ListActivity, который заполняет список с помощью CursorAdapter.Что мне нужно сделать, так это прокрутить представление вниз до определенного элемента в списке, основываясь на значениях элементов в списке.

Список представляет собой список элементов с «датами исполнения» и, еслисрок выполнения уже прошел, я хочу, чтобы просмотр прошел мимо него.Поэтому при запуске пользователь увидит элемент с ближайшей датой исполнения вверху (вид будет прокручен до этого элемента).Если они хотят увидеть просроченные даты, они могут прокрутить вверх.

Надеюсь, я объясню это правильно, я просто хочу спрятать элементы в моем ListActivity, если срок их исполнения уже истек, исходя из времени запуска Activity, конечно.

Ответы [ 3 ]

2 голосов
/ 18 марта 2011

Это работает:

ListView list = getListView();
int count = list.getCount();

long now = new GregorianCalendar().getTimeInMillis();
int scrollTo = 0;

for ( int i = 0; i < count; i++ ) {
    Cursor cursor = (Cursor)list.getItemAtPosition( i );
    long endtime = cursor.getLong( "endtime" );
    if ( endtime > now ) {
        //this is the one we want to scroll to
        scrollTo = i;
        break;
    }
}
temp.setSelection( scrollTo );
0 голосов
/ 18 марта 2011

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

ИЛИ

, если у вас есть список заметок в просмотре списка, в ваших методах onresume и oncreate для операции, переставьте заметки в списке так, чтобыте, которые пропущены, помещаются в конец списка, таким образом, текущие заметки всегда будут сверху, и вам не нужно беспокоиться о попытке возиться с гравитацией

0 голосов
/ 17 марта 2011

Просмотрите элементы, чтобы найти точку останова, а затем используйте функцию smoothScrollToPosition для анимации этой позиции.

Сайт разработчика Android: AbsListView # smoothScrollToPosition

...