Java 将包裹设置为ImageView图像
我一直在使用这个库从gallary和camera获取图像,并将其设置为个人资料图片Java 将包裹设置为ImageView图像,java,android,Java,Android,我一直在使用这个库从gallary和camera获取图像,并将其设置为个人资料图片 TextView chooseImageTextView = (TextView) findViewById(R.id.signUp_uploadPicture_textView); chooseImageTextView.setOnClickListener( new View.OnClickListener() { @Override
TextView chooseImageTextView = (TextView) findViewById(R.id.signUp_uploadPicture_textView);
chooseImageTextView.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View view) {
ImagePicker.create((Activity) SignUpActivity.this)
.folderMode(true)
.folderTitle("Select image folder")
.imageTitle("Select image")
.single()
.showCamera(true)
.imageDirectory("Camera - Bond Messenger")
.start(REQUEST_CODE_PICKER);
}
}
);
它一直工作得很好,但是结果图像是从库中导入的类型图像的一个可打包的ArrayList,所以这里出现了问题
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_CODE_PICKER && resultCode == RESULT_OK && data != null) {
ArrayList<Image> images = data.getParcelableArrayListExtra(ImagePickerActivity.INTENT_EXTRA_SELECTED_IMAGES);
profilePictureCircleImageView.setImageBitmap(images.get(0));
}
}
@覆盖
受保护的void onActivityResult(int请求代码、int结果代码、意图数据){
if(requestCode==REQUEST\u CODE\u PICKER&&resultCode==RESULT\u OK&&data!=null){
ArrayList images=data.getParcelableArrayListExtra(ImagePickerActivity.INTENT\u EXTRA\u SELECTED\u images);
profilePictureCirleImageView.setImageBitmap(images.get(0));
}
}
尝试将结果图像设置为ProfilePictureClReimageView的图像中时出错
所以我尝试将其转换为位图、位图可绘制和可绘制,但都不起作用
有什么帮助吗?感谢您快速挖掘您提供的库的源代码会发现,
Image
类不是来自android软件包android.media.Image
因此,由于该类保存图像的路径,您可以执行以下操作
Bitmap bmImg = BitmapFactory.decodeFile(images.get(0).getPath());
profilePictureCircleImageView.setImageBitmap(bmImg);
快速挖掘所提供库的源代码可以发现,
Image
类不是来自android软件包android.media.Image
因此,由于该类保存图像的路径,您可以执行以下操作
Bitmap bmImg = BitmapFactory.decodeFile(images.get(0).getPath());
profilePictureCircleImageView.setImageBitmap(bmImg);
返回的不是实际图像,而是保存图像路径的对象。 您必须手动加载它:
String path = images.get(i).getPath()
Bitmap bitmap = BitmapFactory.decodeFile(path, null);
profilePictureCircleImageView.setImageBitmap(bitmap);
返回的不是实际图像,而是保存图像路径的对象。 您必须手动加载它:
String path = images.get(i).getPath()
Bitmap bitmap = BitmapFactory.decodeFile(path, null);
profilePictureCircleImageView.setImageBitmap(bitmap);