レイアウト パラメータを設定するには、その親の内部クラス LayoutParams を使用する必要があります。
例: RelativeLayout 内に LinearLayout があり、Linear Layout のレイアウト パラメータを設定する必要がある場合は、RelativeLayout の LayoutParams 内部クラスを使用する必要があります。それ以外の場合、ClassCastException が発生します。
したがって、あなたの場合、 FrameLayout の Layoutparams を設定するには、その親レイアウトの Layout Params を使用する必要があります。レイアウトが次のようになっているとします。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<FrameLayout
android:id="@+id/flContainer"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/image"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</FrameLayout>
</RelativeLayout>
コード :
FrameLayout frame=(FrameLayout) findViewById(R.id.flContainer);
ImageView image=(ImageView) findViewById(R.id.image);
Bitmap theBitmap = BitmapFactory.decodeFile(theFileImage.toString());
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(theBitmap.getWidth(), theBitmap.getHeight());
frame.setLayoutParams(lp);
image.setImageBitmap(theBitmap);