1

私は現在、ユーザーが写真を撮ったり、アルバムから写真をアップロードしたりすることで、画像を通じて質問に答えることができるアプリに取り組んでいます。

FulfillPhotoTaskActivity、AddPhotoActivityの2つのクラスに分けました。FulfillPhotoTaskActivityには、imageView、addphotoボタン、および保存ボタンがあります。写真の追加ボタンを押すと、AddPhotoActivityに移動し、2つのオプション(写真の撮影または写真のアップロード)を選択できます。ユーザーが写真を撮るボタンを押すと、カメラが開いて写真を撮る部分を終了しました。画像データを取得するonActivityResultを作成しました。しかし、多くの例では、onActivityResult内に、setImageBitmapのようなimageViewもあります。

私の問題は、AddPhotoActivityからimageViewを取得し、それをXML用に作成したFulfillPhotoTaskActivityに表示するにはどうすればよいかということです。

4

1 に答える 1

0

写真を撮ると、画像がファイルに保存されます。この画像ファイルを取得してから、FulfillPhotoTaskActivityでimageViewを呼び出し、ファイル内の画像にimageViewを設定できます。

次のコードは、カメラインテントとファイルを特定の場所に開始します。

    File root = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Folder/SubFolder");

    String folder = root.toString(); 
    File file = new File(folder, "fileName" + ".jpg");
    Uri outputFileUri = Uri.fromFile(file);

    Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
    cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);

    startActivityForResult(cameraIntent, 0);

これで、ユーザーが写真を撮ると、どこに保存されるかがわかります。FulfillPhotoTaskActivityで、imageviewを呼び出すことができます。

    ImageView imageView = (ImageView)findViewById(R.id.YOUR_IMAGE_VIEW_ID);

最後に、画像をimageviewに設定するだけです。

    imageView.setImageBitmap(BitmapFactory.decodeFile(file));

したがって、AddPhotoActivityからimageviewを取得する必要はありません。必要なのはファイル名だけです。次に、FulfillPhotoTaskActivityに戻り、imageviewをビットマップファイルに設定できます。

これがお役に立てば幸いです。

于 2012-11-04T00:05:10.390 に答える