在android中,不允许嵌套具有滑动窗口的view,但是有时又需要用到,这时需要重写listview方法,这时就可以使用了,具体如下:
package com.example.wangyi.review;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.ListView;
public class RewriteListView extends ListView{
public RewriteListView(Context context) {
super(context);
}
public RewriteListView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public RewriteListView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
}
xml中代码如下:
com.example.wangyi.review.RewriteListView是包名+类名
<pre name="code" class="html"><?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<com.example.wangyi.review.RewriteListView
android:id="@+id/news_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5.0dp"
android:paddingLeft="10.0dp"
android:paddingRight="15.0dp" />
</RelativeLayout>
</ScrollView>
</RelativeLayout>