5

私は自分のアプリに単純な(と思う)ものを実装しようとしています。簡単だと思ったのですが、どういうわけか思ったように機能しません。

私がやろうとしていることは次のとおりです。

  • 中心に ImageView を持つアクティビティがあります - それはそれ自身のイメージを持っています (まあ、それらの 2 つがあります)。
  • その ImageView (または ImageButton の可能性もあります) を押して、ギャラリーを開き、カメラで写真を撮ります。
  • 次に、写真を撮ったり選んだりした後、その ImageView に写真のサムネイルを表示させたいと思います。

私のレイアウト

                <ImageView
                    android:id="@+id/add_photo_left"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginRight="20dp"
                    android:layout_weight="1"
                    android:adjustViewBounds="true"
                    android:src="@drawable/add_photo_button" />

                <ImageView
                    android:id="@+id/add_photo_right"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:adjustViewBounds="true"
                    android:src="@drawable/add_photo_button" />
            </LinearLayout>

私のコード - 画像パスを取得した後

        BitmapFactory.Options bmpFactoryOptions = new BitmapFactory.Options();
        bmpFactoryOptions.inSampleSize = 8;
        Bitmap bitmap = BitmapFactory.decodeFile("/sdcard/5.png",bmpFactoryOptions);
        lastClicked.setImageBitmap(bitmap);
        //lastClicked.setImageResource(R.drawable.green_circle);

私がやりたかったのは、sdcard からサイズ変更されたファイル (inSampleSize を使用) を読み取り、それを ImageView (または ImageButton) に入力することです。しかし、 setImageBitmap 関数を使用した後、ビューが消えます-空の画像をロードしたように(コメント行は正常に機能します-それは緑色の点です)。

たぶん、誰かが同様の問題に取り組んでいますか?どんな種類の助けにも感謝します。

グリーツ、スカーナ

編集: ofc lastClicked:

lastClicked = (ImageView)findViewById(R.id.add_photo_left);
4

1 に答える 1

4

やってみませんlastClicked.invalidate()か?

少なくとも私のコードではそうしていますが、このように動作します;)

于 2012-05-15T20:27:21.147 に答える