您的位置:首页 > 其它

ListView中嵌套ListView显示异常

2015-11-26 11:49 260 查看
在项目开发中,有时需要在ListView里嵌套ListView,或者ListView、GridView外添加ScrollView等带滑动效果的控件时,会出现显示异常,不能按照我们预想的正常显示,这是因为两次嵌套产生了冲突,需要重写里层的ListView 或 GridView。重写ListView主要重写onMeasure函数,便可解决冲突。

@Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        int expandSpec = MeasureSpec.makeMeasureSpec(
                Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
        super.onMeasure(widthMeasureSpec, expandSpec);

    }


完整的ListView样本如下:

import android.content.Context;
import android.util.AttributeSet;
import android.widget.ListView;

/**
* 解决scrollview和gridview冲突
* Created by hornsey on 2015/11/26.
*/
public class MyListView extends ListView{

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

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

public MyListView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}

@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = MeasureSpec.makeMeasureSpec( Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: