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

时间:2017-01-23 11:11:40

标签: android tags expandablelistview

我正在使用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);
        }
    });

1 个答案:

答案 0 :(得分:0)

您还需要在onclick侦听器外部设置图像资源,以进行默认的UI渲染 -

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