1

我必须制作一个封闭的循环列表视图。列表视图通过使用无限次向下移动

 @Override
    public int getCount() {
        return Integer.MAX_VALUE;
    } 

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

我试过ListView.setSelection(1+(arraylist.size()*100));了,但只要设置了适配器,它就可以工作了。它仅在设置为时有效

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 时,它不起作用。此延迟导致列表在显示列表后一秒跳转。有没有其他方法可以从第一项滚动到最后一项?

4

1 回答 1

1

尝试使用,

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

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

于 2013-07-22T06:32:56.727 回答