2012-08-22 64 views
1

我有以下代碼,我在做JSON解析並在列表視圖中顯示結果。 我面臨的問題是每當我滾動列表視圖我的列表視圖的內容位置得到前的變化。如果住宿是列表中的第一項,當我向下滾動時,我可以再次看到住宿作爲列表中的最後一項或任何其他位置。我的日誌顯示正確的結果,但不是列表視圖。我沒有得到我出錯的地方,爲什麼我的列表沒有顯示出正確的結果。滾動列表項目的位置變化

+0

一個微小的變化建議對您的代碼:在CategoryAdapter的的getItem功能使其作爲返回data.get(position); – rajpara

+0

@rajpara它仍然給出同樣的錯誤,項目正在改變那裏的位置 – Neha

回答

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; 
} 
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; 
}