我目前正在开发一款应用,用户可以通过拍照或上传相册中的照片来回答问题。
我分为两个类,即FulfillPhotoTaskActivity,AddPhotoActivity。 FulfillPhotoTaskActivity有imageView,addphoto按钮和保存按钮。 当我按下addphoto按钮时,它会转到AddPhotoActivity,我们可以选择两个选项(拍照或上传照片)。我完成了部分,如果用户按下拍照按钮,然后打开相机并拍照。我创建了onActivityResult来获取图像数据。但在很多例子中,在onActivityResult中他们也有imageView,比如setImageBitmap。
我的问题是,如何从AddPhotoActivity获取imageView并在FulfillPhotoTaskActivity中显示它,我已经为XML做了。
答案 0 :(得分: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设置为位图文件。
我希望这有帮助!