1

次のコードでは、JSON 解析を行って結果をリストビューに表示しています。私が直面している問題は、リストビューをスクロールするたびに、リストビューのコンテンツの位置が変更されることです。宿泊施設がリストの最初の項目にある場合、下にスクロールすると、リストの最後の項目として、または他の位置に宿泊施設が再び表示されます。私のlog-catは適切な結果を示していますが、リストビューは示していません。リストに適切な結果が表示されないのはなぜでしょうか。

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 に答える