Android ListView设置了两个不同的适配器。在我滚动之前,ListView不会更新为新设置的适配器

时间:2013-06-13 17:35:30

标签: android listview listview-adapter

我为ListView提供了2个不同的适配器。两个适配器都扩展BaseAdapter。 我在ListView的标题视图中有2个按钮。

按钮1来电ListView.setAdapter(adapter1); 按钮2调用ListView.setAdapter(adapter2);

我第一次点击其中一个按钮。 ListView立即更新到另一个适配器视图。

但是,我第二次点击其中一个按钮。在我滚动ListView之前,Button侦听器不会触发。

我试图在按钮监听器中放一个吐司。只有在滚动ListView后才会调用toast。

任何人都知道这是什么问题?

1 个答案:

答案 0 :(得分:0)

Android中的UI效率很高,只有在需要时才会更新。在列表的情况下,UI仅在您滚动时更新,因为它需要为列表获取更多项目。要强制更新,您需要在invalidate()上致电ListView