我必须制作一个封闭的圆形列表视图。列表视图使用
向下移动无限次 @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时,它不起作用。此延迟会导致列表在显示列表后跳转一秒。有没有其他方法可以滚动到第一个项目的最后一项?
答案 0 :(得分:1)
尝试使用,
threeDListView.setItemChecked(position, true);
threeDListView.smoothScrollToPosition(position);
这会使ListView动画并移动到所选的任何位置。