1

我有以下代码,我在其中进行 JSON 解析并在列表视图中显示结果。我面临的问题是每当我滚动列表视图时,我的列表视图内容位置都会发生变化。如果住宿位于列表中的第一项,当我向下滚动时,我可以再次看到住宿作为列表中的最后一项或任何其他位置。我的日志猫显示正确的结果,但不是列表视图。我没有找到我出错的地方,为什么我的列表没有显示正确的结果。

4

2 回答 2

2

尝试遵循 viewHolder 模式,如下所示

        ViewHolder holder;
        if(convertView == null) 
        {
             holder = new ViewHolder();            
             convertView = mInflater.inflate(R.layout.cat_content, null);

             holder.name =  (ImageView)convertView.findViewById(R.id.name); 
             convertView.setTag(holder);
        }
        else
        {     
            holder = (ViewHolder) convertView.getTag();     
        } 

        item = new HashMap<String, String>();
        item = data.get(position);
        holder.name.setText(item.get(CATEGORY_NAME));

        return convertView;




class ViewHolder
{
     TextView name;
}
于 2012-08-22T10:52:58.417 回答
0

如果对您有帮助,请像这样更改您的 getView..

public View getView(int position, View convertView, ViewGroup parent) {

    if (convertView == null) {
        convertView = inflater.inflate(R.layout.cat_content, null);
     }

     name = (TextView) convertView.findViewById(R.id.name);
     item = new HashMap<String, String>();
     item = data.get(position);
     name.setText(item.get(CATEGORY_NAME));

    return convertView;
}
于 2012-08-22T10:52:21.600 回答