次のように、アクティビティでグリッド ビューを描画しています。
AlbumGridAdapter albumAdapter = new AlbumGridAdapter(this);
GridView gv = (GridView) findViewById(R.id.grid);
gv.setAdapter(albumAdapter);
次に、ビューを更新する必要がある場合 (ダイアログでのユーザー入力の後):
gv.setAdapter(new AlbumGridAdapter(getApplicationContext()));
gv.invalidate();
これが呼び出された後、私の EditTexts (以下) は白くなります。それ以外は、「リフレッシュ」が機能しています。
これはグリッドの xml です。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity$DummySectionFragment" >
<TextView
android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="false"
android:layout_centerInParent="true"
android:layout_centerVertical="true"
android:textSize="18sp"
android:gravity="center"
android:layout_gravity="center"
android:textIsSelectable="false" />
<GridView
android:id="@+id/grid"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentRight="true"
android:numColumns="auto_fit"
android:stretchMode="columnWidth"
android:verticalSpacing="8dp"
android:gravity="center" >
</GridView>
</RelativeLayout>
そして、各グリッド セルの xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/grid_cell"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="3dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginTop="3dp"
android:paddingLeft="3dp"
android:paddingRight="3dp"
android:gravity="center"
android:orientation="vertical" >
<ImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:gravity="center"
android:padding="1dp"
android:src="@drawable/no_image"
android:contentDescription="@string/image" />
<TextView
android:id="@+id/caption"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="2dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textIsSelectable="false" />
</LinearLayout>