2011-08-09 25 views
2

我有一个ListView从数据库获取项目(使用SimpleCursorAdapter)。列表填充后,我想将其滚动到给定的位置。我找不到合适的位置来做到这一点。Android ListView - 如何在物品准备好时执行代码?

现在我在运行查询之前设置了“需要滚动”标志。然后我在setViewValue()中检查这个标志,如果它已设置,我滚动列表并重置标志。虽然这有效,但我认为这不是最好的方式。

有关在填充ListView时如何执行某些操作的其他想法?

回答

0

也许你正在寻找一种“滚动到”的方法。这里有一个快速的reference

+0

不,我不介意滚动是如何完成的。 setSelection足够好。问题是何时调用它 - 列表必须已经填充。 – kalobok

+0

你用什么样的适配器填充这个列表?一个ArrayAdapter? – Brian

+0

它是SimpleCursorAdapter(在文章中提到)。 – kalobok

0

好吧,我想我解决了这个问题。从SimpleCursorAdapter派生我自己的适配器,重载notifyDataSetChanged方法,以便在调用super的方法后在需要时滚动列表。看起来工作。

相关问题