レイアウトを膨らませてドラッグ可能なグリッドビューに追加しようとしていますが、黄色い正方形しか表示されません。ドラッグ可能なビューのaddView()メソッドは、単一のビューのみを取得します。たとえば、textViewまたはimageViewを追加すると、textviewが表示されます。線形レイアウトを追加すると、linearlayoutの背景(別名linearlayout)のみが表示されます。ただし、linearlayoutsの子(画像およびテキストビュー)はそうではありません。dgv(ドラッグ可能なGridview)はViewGroupを拡張します。コードは次のとおりです。
線形レイアウトの追加:
LayoutInflater inflater = LayoutInflater.from (getActivity ());
View cellView = inflater.inflate (R.layout.celllayout, null);
if (cellView != null)
Log.d ("Snap", "cellView != null");
TextView textView = (TextView) cellView.findViewById (R.id.grid_label);
textView.setText (word);
ImageView imageView = (ImageView) cellView.findViewById (R.id.grid_image);
imageView.setImageBitmap (getThumb (word));
dgv.addView (cellView);
線形レイアウト:
<?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:background="#FFF000"
android:gravity="center"
android:orientation="vertical"
android:padding="5dp" >
<TextView
android:id="@+id/grid_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="5dip"
android:text="@string/grid_label"
android:textColor="#c31d36"
android:textSize="15sp" />
<ImageView
android:id="@+id/grid_image"
android:layout_width="150dip"
android:layout_height="150dip"
android:layout_gravity="center_horizontal"
android:contentDescription="An Image"
android:background="#ffff0000"/>
</LinearLayout>
dgv:
@Override
public void addView (View child) {
super.addView (child);
Log.d ("Draggable", "Draggable-addView");
newPositions.add (-1);
}
何か案は?より多くの情報を提供する必要がありますか?私の唯一の解決策は、imageviewをカスタマイズし、ondrawをオーバーライドして、必要なことを実行することです。しかし、それは非常にハッキーでスケーラブルではありません。どんな助けでもいただければ幸いです。