【发布时间】:2012-06-28 10:08:31
【问题描述】:
我为联系人应用创建了一个应用。我的自定义光标适配器有一个问题,每次我上下滚动时都有两个文本视图和图像视图,图像在另一个列表项上重复。任何人都可以帮助我解决这个问题。提前致谢。
这是代码
@Override
public void bindView(View view, Context context, Cursor cursor) {
if(view !=null){
ViewHolder holder = initViewHolder(view);
holder.displayName.setText(getUserDisplayName(cursor.getString(userid)));
holder.groupId.setText(cursor.getString(group));
holder.displayPhoto.setImageURI(imageUri);
}
}
private ViewHolder initViewHolder(View view) {
ViewHolder innerViewHolder = null;
if(innerViewHolder == null){
innerViewHolder = new ViewHolder();
innerViewHolder.displayName =(TextView) view.findViewById(R.id.name);
innerViewHolder.groupId = (TextView) view.findViewById(R.id.groupId);
innerViewHolder.displayPhoto = (ImageView) view.findViewById(R.id.photo);
}
return innerViewHolder;
}
class ViewHolder{
TextView displayName;
TextView groupId;
ImageView displayPhoto;
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
return inflater.inflate(R.layout.contact_list_item, null);
}
【问题讨论】:
-
发布自定义光标适配器的代码。
-
这和你的问题无关,但是写
ViewHolder innerViewHolder = null;然后if(innerViewHolder == null)是多余的 -
看起来
imageUri没有针对单个视图进行更改,可能需要检查您是否只是为每一行加载相同的 uri。 -
这是关于图像映射的东西。我将图像直接映射到 SD 卡?
标签: android android-cursoradapter