【问题标题】:Android: Scroll to a specific view in ListView on clicking a select viewAndroid:在单击选择视图时滚动到 ListView 中的特定视图
【发布时间】:2014-08-23 19:05:56
【问题描述】:

我有一个LinearLayout。一侧有一个alphabetic index,就像字典一样,另一侧有一个ListView。我想在单击字母索引中的字母时将列表视图滚动到特定视图,同时保持该索引视图不变。

【问题讨论】:

  • 我已经创建了 ListView。从那里,我不知道如何根据选择滚动。我知道这一定很简单。根据其在列表视图中的位置滚动到特定视图会做到这一点,但无法获得确切的方式
  • 您是否为您的aplhabetic index创建了监听器?您需要以某种方式获取点击事件。
  • 是的。字母索引将是一个不可滚动的列表视图,我可以处理该事件并准确获取已单击的索引

标签: android listview scroll


【解决方案1】:

一旦您在字母索引上注册了侦听器并知道要滚动到哪个项目,您就可以在列表视图上使用smoothScrollToPosition(在 API 8 中添加),例如:

mListView.smoothScrollToPosition(position);

如果您有很多项目,您可能希望使用smoothScrollToPositionFromTop(在 API 11 中添加)来加快滚动速度。像这样:

mListView.smoothScrollToPositionFromTop(position, offset, duration);

Offset 这里是您希望滚动从哪里开始,duration 显然是需要多长时间。您可以实现自己的算法来计算这些值以获得最佳滚动体验。

【讨论】:

  • 正是我需要的。
猜你喜欢
  • 2014-02-24
  • 1970-01-01
  • 2016-04-07
  • 1970-01-01
  • 1970-01-01
  • 2013-12-30
  • 2012-02-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多