我有一个ListView从数据库获取项目(使用SimpleCursorAdapter)。列表填充后,我想将其滚动到给定的位置。我找不到合适的位置来做到这一点。Android ListView - 如何在物品准备好时执行代码?
现在我在运行查询之前设置了“需要滚动”标志。然后我在setViewValue()中检查这个标志,如果它已设置,我滚动列表并重置标志。虽然这有效,但我认为这不是最好的方式。
有关在填充ListView时如何执行某些操作的其他想法?
我有一个ListView从数据库获取项目(使用SimpleCursorAdapter)。列表填充后,我想将其滚动到给定的位置。我找不到合适的位置来做到这一点。Android ListView - 如何在物品准备好时执行代码?
现在我在运行查询之前设置了“需要滚动”标志。然后我在setViewValue()中检查这个标志,如果它已设置,我滚动列表并重置标志。虽然这有效,但我认为这不是最好的方式。
有关在填充ListView时如何执行某些操作的其他想法?
也许你正在寻找一种“滚动到”的方法。这里有一个快速的reference。
好吧,我想我解决了这个问题。从SimpleCursorAdapter派生我自己的适配器,重载notifyDataSetChanged方法,以便在调用super的方法后在需要时滚动列表。看起来工作。
不,我不介意滚动是如何完成的。 setSelection足够好。问题是何时调用它 - 列表必须已经填充。 – kalobok
你用什么样的适配器填充这个列表?一个ArrayAdapter? – Brian
它是SimpleCursorAdapter(在文章中提到)。 – kalobok