何らかの理由で、私のCardViewがグリッドビューの画像の最初の行のみを表示しています。 (または、私のGridViewは最初の行しか表示していません - 私は言うことができません)。CardViewはGridLayoutの最初の行を表示します
グリッドビューに画像を動的に追加し、gridAdapter.notifyDataSetChanged()
を使用しています。おそらくこれがCardViewの高さが適応していない理由です。 android:layout_height = "500dp"をCardViewに追加すると、すべての画像が表示されます。
CardViewでコンテンツをラップすると、(高さをハードコーディングする以外の)すべての画像が表示されるのですか?
写真の行数が動的なので、高さをハードコードすることはできません。私だけが、この場合ago.For数日、この問題に直面した画像の2行
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="2dp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/m_photos" />
<GridView
android:id="@+id/m_grid"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="2dp"
android:clickable="true"
android:columnWidth="90dp"
android:drawSelectorOnTop="true"
android:focusable="true"
android:gravity="center"
android:numColumns="auto_fit"
android:stretchMode="none"
android:verticalSpacing="2dp" />
</LinearLayout>
</android.support.v7.widget.CardView>
複数の写真がある場合に機能します。しかし、写真の数は動的で、写真が1行しかない場合は複数の行を表示したくありません。 – Vinnie