我正在使用这个库来裁剪图像 https://android-arsenal.com/details/1/3487
我在尝试从 fragment 而不是常规 Activity 中裁剪图像时遇到问题并且它不起作用,即使我做了确切的事情,
这是我的 onActivityResult
:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == getActivity().RESULT_OK) {
if (requestCode == SELECT_PICTURE) {
CropImage.activity(data.getData())
.setCropShape(CropImageView.CropShape.OVAL)
.setGuidelines(CropImageView.Guidelines.OFF)
.setAutoZoomEnabled(false)
.start(getContext(), FeedFragment.this);
}
if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {
CropImage.ActivityResult result = CropImage.getActivityResult(data);
try {
Uri resultUri = result.getUri();
InputStream is = getActivity().getContentResolver().openInputStream(resultUri);
Bitmap photoBitmap = BitmapFactory.decodeStream(is);
imgButton.setImageBitmap(photoBitmap);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
}
问题出在这一行:
.start(getContext(), FeedFragment.this);
错误:
Failure delivering result ResultInfo{who=null, request=65537, result=-1, data=Intent { dat=content://media/external/images/media/5560 flg=0x1 (has extras) }} to activity {apps.berant.knowu/apps.berant.knowu.MainActivity}: android.content.ActivityNotFoundException: Unable to find explicit activity class {apps.berant.knowu/com.theartofdev.edmodo.cropper.CropImageActivity}; have you declared this activity in your AndroidManifest.xml?
感谢您的帮助:)
最佳答案
添加行 AndroidManifest.xml
<activity android:name="com.theartofdev.edmodo.cropper.CropImageActivity"/>
关于java - 在 fragment 中裁剪图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37263036/