我们如果在ListView里嵌套GridView布局,也许会发生GridView布局只显示一行数据问题,如果是自定义View,我们可以重写OnMeasure()方法通过测量布局的宽度和高度可以解决这个问题,但如果不是自定义,只是使用原生ListView,便需要将GridView中填充的布局宽和高写成定值,比如说我在ListView里填充了多个GridView布局,而每个GridView都有自己的多个重复利用的布局,而这个具体的重复利用的单个布局就需要将宽和高写成定值,比如我的GridView里填充的是一个包含TextView和ImageView的LinearLayout,便需要将他们的宽和高定值:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:gravity="center_horizontal" android:layout_width="match_parent" android:layout_height="150dp"> <ImageView android:id="@+id/item_image" android:layout_width="100dp" android:layout_height="100dp" android:src="@mipmap/ic_launcher" /> <TextView android:id="@+id/item_text" android:layout_width="wrap_content" android:gravity="center" android:layout_height="50dp" android:text="商品"/> </LinearLayout>