【问题标题】:android: getChildView in ExpandableListView is called 9 times per itemandroid:ExpandableListView 中的 getChildView 每个项目被调用 9 次
【发布时间】:2015-09-25 11:28:03
【问题描述】:

我正在开发一个应用程序,使用可扩展列表视图,并带有一个自定义适配器。问题是每个项目多次调用 getChildView。例如对于一个有一个孩子的组,该方法被调用了 9 次。

我不知道要附加什么代码,我会附加getChildView(),如果你需要另一个在cmet中写

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

我们将不胜感激

【问题讨论】:

  • 没关系。如果您正确使用视图回收,那不会损害性能

标签: android view expandablelistview


【解决方案1】:

getChilderCount(int groupPosition) 是否被正确覆盖?

可能应该类似于return getGroup(groupPosition).size(),具体取决于您存储的数据类型。

【讨论】:

  • 是的,它已被覆盖并返回正确的值
  • 我也面临同样的问题,但 childView 只被调用了两次。如果您有解决方案,请发布它。谢谢!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-01-08
  • 2013-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-19
相关资源
最近更新 更多