我有以下代码,我在其中进行JSON解析并在listview中显示结果。 我面临的问题是,每当我滚动列表视图时,我的列表视图内容位置都会得到更改。如果住宿是列表中的第一项,当我向下滚动时,我可以再次看到住宿作为列表中的最后一项或任何其他位置。我的log-cat显示了正确的结果,但没有显示listview。我没有得到我错误的地方为什么我的列表没有显示我正确的结果。
答案 0 :(得分: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;
}
答案 1 :(得分: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;
}