如何区分可扩展列表视图行中的相同视图(例如 +/- 切换按钮)并在选择时打开相应的组?

how to distinguish between same view (e.g. a +/- toggle button) in expandable listview row and open corresponding group on selection?

我正在使用 ExpandableListView。每个组都由一个自定义视图填充,该视图具有切换类型的按钮 (+/-)。

我可以在选择时打开相应的组。但是,滚动时切换状态不正确。我对如何使用标签和所有内容感到困惑。

getView中的代码如下:

if(convertView == null) {
        LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View root = inflater.inflate(R.layout.h_header_layout_exp_list, null);

        root.findViewById(R.id.call_icon).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                operationExecutorFromExpList.launchDialer();
            }
        });

        view = root;
    }
    else{
        ((ImageView) convertView.findViewById(R.id.expander)).setTag(groupPosition);
        view = convertView;
    }

    final ImageView expandImageView = (ImageView) view.findViewById(R.id.expander);
    expandImageView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            int imageId = isExpanded ? android.R.drawable.ic_input_add : R.drawable.ic_minus;
            expandImageView.setImageResource(imageId);
            operationExecutorFromExpList.animateGroup(isExpanded, groupPosition);
        }
    });

您还需要在默认 UI 渲染的 onclick 侦听器之外设置图像资源-

int imageId = isExpanded ? R.drawable.ic_minus : android.R.drawable.ic_input_add;
expandImageView.setImageResource(imageId);