可扩展列表视图扩展了当前视图和未选择的视图Android

时间:2017-03-13 06:06:21

标签: android expandablelistview

这是代码,我以前称之为可扩展列表视图。我面临一个问题,即如果我扩展一个组,它会扩展其他视图。同样,如果我关闭可扩展列表,它会关闭其他视图。

ProductListAdapter productListAdapter = new ProductListAdapter(activity,products_per_order);
holder.listview.setExpanded(true);
holder.listview.setAdapter(productListAdapter);

这是我的自定义展开列表视图。

import android.content.Context;
import android.util.AttributeSet;
import android.view.ViewGroup;
import android.widget.ExpandableListView;

    public class CustomExpanaableListview extends ExpandableListView {

        boolean expanded = false;

        public CustomExpanaableListview(Context context) {
            super(context);
        }

        public CustomExpanaableListview(Context context, AttributeSet attrs) {
            super(context, attrs);
        }

        public CustomExpanaableListview(Context context, AttributeSet attrs,
                                        int defStyle) {
            super(context, attrs, defStyle);
        }

        public boolean isExpanded() {
            return expanded;
        }

        @Override
        public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
            // HACK! TAKE THAT ANDROID!
            if (isExpanded()) {
                // Calculate entire height by providing a very large height hint.
                // But do not use the highest 2 bits of this integer; those are
                // reserved for the MeasureSpec mode.
                int expandSpec = MeasureSpec.makeMeasureSpec(
                        Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
                super.onMeasure(widthMeasureSpec, expandSpec);

                ViewGroup.LayoutParams params = getLayoutParams();
                params.height = getMeasuredHeight();
            } else {
                super.onMeasure(widthMeasureSpec, heightMeasureSpec);
            }
        }

        public void setExpanded(boolean expanded) {
            this.expanded = expanded;
        }
    }

0 个答案:

没有答案