2
我创建了一个具有自定义SimpleCursorAdapter的列表视图。我想要在列表中的第一个元素中放置一个标题。一次可以在屏幕上显示8个视图。当我向下滚动到第九个视图时,第一个元素的标题出现。至少我相信那是发生了什么。我删除了列表视图上方的一个按钮,允许所有元素出现在屏幕上,只有第一个元素具有标题。Android - 自动回收listview元素?
我相信我每次都会迫使新的观点被夸大。我已经阅读了一下convertview,它似乎是你必须手动实现的东西。
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
final LayoutInflater inflater = LayoutInflater.from(context);
int position = cursor.getPosition();
View v;
v = inflater.inflate(R.layout.roster_lv_row_entry_with_header, parent, false);
if(position > 0)
v = inflater.inflate(R.layout.roster_lv_row_entry_no_header, parent, false);
return v;
而这似乎解决了这个问题!谢谢。 – 2011-04-17 07:08:37
我遇到问题。我的应用在后台加载图像的位置..我在视图中显示了三个项目,当我点击其中一个项目时。他们重漆...我遇到的问题是。该列表视图正在重用仍在屏幕上的项目。或者看起来如此。 – 2011-04-20 20:49:08
为了避免这种情况,您应该始终为convertView参数指定一个新值,因为它在1.步骤中。这样它不会缓存和滚动不会导致这种副作用。 – rekaszeru 2011-04-20 20:55:00