从第一个项目向上滚动时,转到列表视图的最后一项

时间:2013-07-22 06:14:45

标签: android listview

我必须制作一个封闭的圆形列表视图。列表视图使用

向下移动无限次
 @Override
    public int getCount() {
        return Integer.MAX_VALUE;
    } 

但是我需要在向上滚动时到达列表的最后一项,以便感觉它是一个循环列表。

我尝试了ListView.setSelection(1+(arraylist.size()*100));但是一旦设置了适配器,dosint就会工作。它仅在设置为

时有效
circularListAdapter = new CircularListAdapter(adapter);
        threeDListView.setAdapter(circularListAdapter);
    Handler handler1 = new Handler();
            handler1.postDelayed(new Runnable() {

                @Override
                public void run() {


                    threeDListView.setSelection(1+(smpl.size()*100));
                    adapter.notifyDataSetChanged();
                }
            },1500);

当延迟小于1500时,它不起作用。此延迟会导致列表在显示列表后跳转一秒。有没有其他方法可以滚动到第一个项目的最后一项?

1 个答案:

答案 0 :(得分:1)

尝试使用,

threeDListView.setItemChecked(position, true);
threeDListView.smoothScrollToPosition(position);

这会使ListView动画并移动到所选的任何位置。