Android 具有不同高度的imageview和TextView的gridview

Android 具有不同高度的imageview和TextView的gridview,android,gridview,Android,Gridview,我有一个网格视图。每个单元格在图像下都有一个ImageView和TextView。我的问题是,当textview中有不同行数的项目时,单元格的位置在向上滚动时会损坏 这是一张图片,您可以在这里看得更清楚: 我的问题是:如何根据高度最高的单元格设置行中所有单元格的固定高度 以下是我的布局: <GridView android:id="@+id/gvProducts" android:layout_height="wrap_content" android:layout

我有一个网格视图。每个单元格在图像下都有一个ImageView和TextView。我的问题是,当textview中有不同行数的项目时,单元格的位置在向上滚动时会损坏

这是一张图片,您可以在这里看得更清楚:

我的问题是:如何根据高度最高的单元格设置行中所有单元格的固定高度

以下是我的布局:

<GridView
    android:id="@+id/gvProducts"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:numColumns="auto_fit"
    android:verticalSpacing="8dp"
    android:horizontalSpacing="8dp"
    />
和议程项目:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="@drawable/action_bar_item_background"
    >

<ImageView
    android:id="@+id/ivThumb"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:adjustViewBounds="true"
    />
<LinearLayout
    android:id="@+id/llDesc"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:paddingTop="8dp"
    android:paddingBottom="8dp"
    >

    <LinearLayout
        android:id="@+id/llProductGridDesc"
        android:orientation="horizontal"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:maxLines="4"
         >
        <TextView 
            android:id="@+id/tvProductName"
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:textSize="14sp"
            />
    </LinearLayout>

    <LinearLayout 
        android:id="@+id/llProducPrice"
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        >
        <TextView
            android:id="@+id/tvProductPriceDiscount"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:textSize="14sp"
            android:textStyle="bold"
            android:paddingRight="4dp"
            />
        <TextView
            android:id="@+id/tvProductPrice"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:textSize="14sp"
            android:textStyle="bold"
             />
    </LinearLayout>
 </LinearLayout>  
</LinearLayout>

您可能只想限制文本大小。TextView的省略号方法可能适合YouTunk you,但无法限制文本大小。有时只有一行文字,有时只有4行文字。我需要把它们全部显示出来,在这一行下面显示另一个文本视图。当我为tvProductName设置android:lines=4时,它可以工作。但是,当文本仅在一行中时,会有大量的可用空间,而且看起来很宽。看起来你在线性布局上有了最大行,我认为这不是你想要的。也不要认为线性布局是必要的。maxLines不应该在那里。它只是我以前测试中的一个垃圾,删除后仍然是一样的。LinearLayout不是必需的,但事实上,在此LL中以前有TextView和ImageView。但问题仍然是一样的。看到了吗