2015-09-25 76 views
0

我正在開發一個應用程序,使用expandableListView,一個自定義適配器。問題是每個項目調用getChildView多次。例如對於一個孩子的團體,該方法被稱爲9次。android:在ExpandableListView中的getChildView被稱爲每個項目9次

我不知道附什麼樣的代碼,我會附上getChildView(),在評論中寫的,如果你需要一個又一個

@Override 
    public View getChildView(int groupPosition, int childPosition, boolean b, View convertView, ViewGroup viewGroup) { 
     Vehicle vehicle = (Vehicle) getChild(groupPosition, childPosition); 
     if (convertView == null) { 
      LayoutInflater infalInflater = (LayoutInflater) fragment.getActivity() 
        .getSystemService(fragment.getActivity().LAYOUT_INFLATER_SERVICE); 
      convertView = infalInflater.inflate(R.layout.child_item, null); 
     } 
     TextView tv = (TextView) convertView.findViewById(R.id.country_name); 
     ImageView iv = (ImageView) convertView.findViewById(R.id.flag); 

     tv.setText(vehicle.getUname().toString()); 
     //TODO load image 
     return convertView; 
    } 

任何幫助將aprreciated

+0

這就好。如果您正確使用視圖回收,那麼這會損害性能 –

回答

0

getChilderCount(int groupPosition)重寫正常嗎?

根據您要存儲的數據類型,可能應該沿着return getGroup(groupPosition).size()的方向。

+0

是的,它會覆蓋它並返回正確的值 –

+0

我也面臨同樣的問題,但childView只被調用兩次。如果您有解決方案,請發佈。謝謝!! –

相關問題