2015-09-25 77 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只被调用两次。如果您有解决方案,请发布。谢谢!! –

相关问题