我应该把Yalantis的uCrop库的构建器模式放在哪里?它在oncreate方法内吗?

时间:2019-01-26 04:46:49

标签: android android-studio crop cropper ucrop

我正在通过getIntent()从其他活动中获取图像Uri,我想在当前活动中裁剪该图像。因此,我实现了Yalantis的uCrop库。但是,我不确定我的代码的哪一部分是错误的,因为我有一个问题,即不确定构建器模式的放置位置。我要做的就是选择图像后,我可以直接裁剪该图像。但是我应该把构建器模式放在哪里?谢谢,请指出除了会导致失败的错误以外的其他错误。

我试图将构建器模式放在onActivityresult中,但是它不起作用。我也将构建器模式放在onCreate方法中,但是它也不起作用。

public class ImageCropActivity extends AppCompatActivity {
    private ImageView imageView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_image_crop);

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

        Intent intent = getIntent();
        Uri sourceUri = intent.getParcelableExtra("ImageUri");

        String path = .sourceUri.getPath();
        File file = null;
        try {
            assert path != null;
            file = new File(new URI(path));

        } catch (URISyntaxException e) {
            e.printStackTrace();
        }
        UCrop.of(uriFromAfterRegistration, Uri.fromFile(file))
                .withAspectRatio(1,1)
                .withMaxResultSize(40,40)
                .start(this);




    }

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (resultCode == RESULT_OK && requestCode == UCrop.REQUEST_CROP) {
            final Uri resultUri = UCrop.getOutput(data);
            imageView.setImageURI(resultUri);



        } else if (resultCode == UCrop.RESULT_ERROR) {
            final Throwable cropError = UCrop.getError(data);
        }


    }

我想知道我的sourceUri和目标Uri是正确的还是导致该cropImage活动失败的任何东西。

0 个答案:

没有答案