我在我的Android应用程序上有一个ListView,我动态地更改其数据。我使用
在冰淇淋三明治之前,以下代码运行良好:
然而,在Ice Cream Sandwich上使用过滤器时,屏幕无法正确地刷新。如果过滤器返回的条目数小于之前的ListView,则旧列表数据似乎仍然可见于背景中,如此屏幕截图所示:
从屏幕截图中可以看到ListView中的第一个条目的位置,这就是唯一可见的内容。您可以看到先前的结果仍然可见于其下方,它们只是可见的,不能被点击,就好像屏幕没有得到正确的刷新。
当我选择主屏幕上的主页按钮离开应用程序并返回时,一切都显示正常,如下面的屏幕截图所示:
在Ice Cream Sandwich上,是否还需要实现其他内容来正确刷新ListView?是否有其他人遇到类似的问题?
我的代码在ICS之前运行良好。
onFilterComplete()
方法来更改ListView的内容。在冰淇淋三明治之前,以下代码运行良好:
if(adapter != null) {
adapter.notifyDataSetInvalidated();
lview3.invalidateViews();
adapter.getFilter().filter(aa1.getItem(item), new Filter.FilterListener() {
public void onFilterComplete(int count) {
adapter.notifyDataSetChanged();
if(lview3.getCount() == 0){
lview3.setVisibility(View.GONE);
}
else{
lview3.setVisibility(View.VISIBLE);
}
}});
然而,在Ice Cream Sandwich上使用过滤器时,屏幕无法正确地刷新。如果过滤器返回的条目数小于之前的ListView,则旧列表数据似乎仍然可见于背景中,如此屏幕截图所示:
从屏幕截图中可以看到ListView中的第一个条目的位置,这就是唯一可见的内容。您可以看到先前的结果仍然可见于其下方,它们只是可见的,不能被点击,就好像屏幕没有得到正确的刷新。
当我选择主屏幕上的主页按钮离开应用程序并返回时,一切都显示正常,如下面的屏幕截图所示:
在Ice Cream Sandwich上,是否还需要实现其他内容来正确刷新ListView?是否有其他人遇到类似的问题?
我的代码在ICS之前运行良好。
ListView
重叠在一起吗? - Jason RobinsonArrayAdapter aa1
和一个字段adapter
。它的类是什么? - Pedro Loureiroadapter
字段,但现在不太确定了。 - Pedro Loureiro