【问题标题】:Go to a item in Listview without using smoothScrollToPosition在不使用 smoothScrollToPosition 的情况下转到 Listview 中的项目
【发布时间】:2012-06-09 00:34:01
【问题描述】:

我想在我的列表视图中转到(显示)特定项目但不滚动。我不想要任何动画,但我想立即传送到所需的物品。

我正在使用可检查的列表视图:mylistview.setChoiceMode(1)

我知道mylistview.setSelection(position) 是解决方案,但是当我使用它时,什么也没有发生(可能是因为它是一个可检查的列表视图?)。

当我使用mylistview.smoothScrollToPosition(position) 时,它运行良好,但显然我有这个我不想要的滚动动画。

我能做什么?

谢谢。

【问题讨论】:

标签: android list listview scroll selection


【解决方案1】:

试试这个:

    myListView.post(new Runnable() 
    {
        @Override
        public void run() 
        {
            myListView.setSelection(pos);
            View v = myListView.getChildAt(pos);
            if (v != null) 
            {
                v.requestFocus();
            }
        }
    });

来自 Romain Guy Link 的这个 Google 开发者列表回答

【讨论】:

  • 这是一个不错的解决方案,但它的行为完全不像smoothScrollToPosition() (不是在谈论滚动的动画,而是列表视图转到显示项目的方式,因为它使被选中项目总是第一个,因此列表视图总是“跳转”以首先显示该项目,这看起来很奇怪)。但我认为我能够处理它,而且这似乎是最快的解决方案。我希望他们能纠正这个问题。感谢您的回答。
猜你喜欢
  • 2020-06-24
  • 2011-07-29
  • 2020-02-04
  • 2015-11-22
  • 2014-11-29
  • 1970-01-01
  • 1970-01-01
  • 2021-06-09
  • 1970-01-01
相关资源
最近更新 更多