android - 如何滚动到 ListActivity 中的子元素

标签 android listactivity android-scroll

我有一个使用 CursorAdapter 填充列表的 ListActivity 类。 我需要做的是根据列表中元素的值,让 View 向下滚动到列表中的特定元素。

该列表是带有“截止日期”的项目列表,如果截止日期已经过去,我希望 View 滚动过去。因此,在启动时,用户将在顶部看到到期日期最近的项目( View 将滚动到该项目)。如果他们想查看过期日期,可以向上滚动。

我希望我能正确解释这一点,我只是想隐藏我的 ListActivity 中的项目,如果它们的截止日期已经过去,当然是基于 Activity 启动的时间。

最佳答案

这个有效:

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

关于android - 如何滚动到 ListActivity 中的子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5342037/

相关文章:

java - 如何将列表与其他 UI 元素一起包含在内? (安卓)

java - 打开具有不同结果的相同 Activity 。来自 MainActivity

android - 类扩展 ListActivity "whose id attribute is ' android.R.id.list'"

java - 具有水平滚动的 ListView

android - 了解如何使用 OverScroller 类

android - ExoPlayerImpl 内部 : Renderer error can't play video android

android - 从 Android 甜蜜警报对话框中删除 "OK"按钮

android - 生成带混淆的签名 apk 时应用程序崩溃 (NoSuchMethodError)

android - 单击 WebView 中的表单字段时禁用缩放?