这是代码,我以前称之为可扩展列表视图。我面临一个问题,即如果我扩展一个组,它会扩展其他视图。同样,如果我关闭可扩展列表,它会关闭其他视图。
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;
}
}