0
所以我有一个GridView显示一些标志。每个GridView单元由一个ImageView和一个TextView组成。仅在开始时显示ImageView。当GridView中的位置1和240加载时,TextView应该可见。GridView表现怪异;重复TextView
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder mVHolder;
if (convertView == null) {
convertView = LayoutInflater.from(mContext).inflate(R.layout.grid_images, parent, false);
mVHolder = new ViewHolder();
mVHolder.mImageView = (ImageView) convertView.findViewById(R.id.gridview_img);
mVHolder.mTextView = (TextView) convertView.findViewById(R.id.textas);
mVHolder.mTextView.setVisibility(View.INVISIBLE);
convertView.setTag(mVHolder);
} else {
mVHolder = (ViewHolder) convertView.getTag();
}
int img = Flagcontainer.flags.get(position).getFlagThumb();
Picasso.with(mContext).load(img).into(mVHolder.mImageView);
if (position == 1 || position == 240) {
mVHolder.mTextView.setVisibility(View.VISIBLE);
}
return convertView;
}
class ViewHolder {
ImageView mImageView;
TextView mTextView;
}
问题:
当滚动一路到GridView的底部,单元240的TextView中得到显示。如果向上滚动,则显示除1和240之外的其他单元格的TextView。
我的代码有什么问题?
看视频可视化的问题
视频: http://www.youtube.com/watch?v=ONLLvS9ISJQ
它的知名度。在创建或获取ViewHolder之后,需要在每个getView中设置它。在ViewHolder partioaly中再次查找视图会破坏此模式的目的,不是吗? –
@el_bhm是的,我想知道问题 – tyczj
谢谢你们!我不知道我是怎么错过的。 –