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