我有一个列表视图,哪些项目动态添加到列表的顶部。我显示了列表顶部发生的一些最新事件。问题是,这些事件非常频繁发生,就像每秒发生5次事件。这使得名单下降。假设用户正在查看一个事件,那么当发生新事件时,它会将他正在阅读的事件推到下面,然后消失。我希望将新事件添加到顶部,但只有在他向上滚动时才应显示。一旦发生新事件,我会在适配器上调用notifydatasetchanged并将此列表推下。无论如何,我可以冻结滚动。我试图通过setTranscriptMode禁用滚动。但它似乎没有帮助。请给我一些提示和指向我禁用ListView滚动到顶部
0
A
回答
5
你可以做的是尝试使用getFirstVisiblePosition()获得ListView在屏幕上的可见位置,然后再次用setSelection设置适配器的位置。
int position = mListView.getFirstVisiblePosition();
mListView.setAdapter(adapter);
mListView.setSelection(position + 1);
我想你会需要(位置+ 1),因为你将每个项目添加到列表顶部的项目。
0
要根据需要显示最新事件,您需要设置android:transcriptMode="normal"
这将默认将焦点设置为最后一项,只要数据集更改。
http://developer.android.com/reference/android/widget/AbsListView.html#attr_android:transcriptMode
此外,我要冻结滚动,那么你可以设置setOnScrollListener()
并更新列表才。
相关问题
- 1. 禁用滚动到顶部
- 2. Android ListView滚动到顶部
- 3. Listview自动滚动到顶部
- 4. 滚动ListViewItem在ListView顶部
- 5. Yii ListView分页:滚动到顶部
- 6. 防止ListView滚动到顶部on notifyDAtaSetChanged
- 7. Xamarin表单ListView滚动到顶部?
- 8. iOS滚动视图禁用自动滚动到顶部
- 9. 禁用ListView滚动
- 10. Android ListView滚动,触摸后滚动到顶部
- 11. Listview禁用Android上的内部滚动
- 12. 当滚动到顶部/底部Wpf禁用重复按钮
- 13. android listview滚动过去顶部
- 14. 如何禁用自动滚动到顶部
- 15. ListView自动滚动到顶端
- 16. 如何禁用ListView滚动?
- 17. gtk#滚动窗口 - 滚动到顶部
- 18. LinearLayout滚动到顶部
- 19. jquery - 滚动到顶部
- 20. 网格:滚动到顶部?
- 21. 滚动到顶部按钮
- 22. CollectionView滚动到顶部
- 23. 滚动到顶部DIV
- 24. BlockUI滚动到顶部
- 25. 滚动到顶部功能
- 26. 滚动到灯箱顶部
- 27. ScrollViewer不滚动到顶部
- 28. jQueryUI滚动到顶部bug
- 29. UIScrollView不滚动到顶部
- 30. FlowDocumentReader滚动到顶部