ListView巢狀在ScrollView中,只顯示一行的解決辦法
阿新 • • 發佈:2019-01-27
自定義一個ListView,在onMeasure方法裡對其的高度進行重新設定
然後在xml裡將listview改成這個就行,java程式碼都可以不用改
import android.content.Context;
import android.util.AttributeSet;
import android.widget.ListView;
/**
* Created by wt on 2017/2/21.
*/
public class ListScrollView extends ListView {
public ListScrollView (Context context) {
super (context);
}
public ListScrollView (Context context, AttributeSet attrs) {
super(context, attrs);
}
public ListScrollView (Context context, AttributeSet attrs,
int defStyle) {
super(context, attrs, defStyle);
}
@Override
/**
* 重寫該方法,達到使ListView適應ScrollView的效果
*/
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
}