CropImage库无法在片段中工作

时间:2018-12-25 03:44:45

标签: android

CropImage库在Activity中工作正常,但在Fragments中不工作。它没有在Fragments中获取图像。

我将上下文从MainActivity.this更改为getActivity(),但是它不起作用。

我的代码:

private void getImage() {
 CropImage.activity().setGuidelines(CropImageView.Guidelines.ON).start(getActivity());
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == galleryPic && resultCode == RESULT_OK) {
        Uri image = data.getData();
        CropImage.activity(image).setAspectRatio(1, 1).start(getContext(), this);
    }
    if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {
        CropImage.ActivityResult result = CropImage.getActivityResult(data);
        if (resultCode == RESULT_OK) {
            Uri resultUri = result.getUri();
            File fileImage = new File(resultUri.getPath());
            // compressImage method will compress the image.
            byte[] byteImageCompress = compressImage(fileImage);
            Bitmap bitmapImage = BitmapFactory.decodeByteArray(byteImageCompress, 0, byteImageCompress.length);
                            imageViewChairman.setImageBitmap(bitmapImage);
        }
    }
}

如何使用片段中的CropImage库获取图像?

2 个答案:

答案 0 :(得分:0)

我将getActivity()更改为(getContext(),this),它对我有用。

之前:

CropImage.activity()。setGuidelines(CropImageView.Guidelines.ON).start(getActivity());

之后:

CropImage.activity()。setGuidelines(CropImageView.Guidelines.ON).start(getContext(),this);

答案 1 :(得分:0)

我更喜欢创建一个App类并扩展Aplication,然后添加清单应用名作为App类路径。并在App类中创建一个单例的methot实例。我认为您可以在任何地方使用' App.getInstance()。getApplicationContex '

    public class App extends Application {

        public static App instance = null;

        public static App getInstance() {
            if (instance == null) {
                instance = new App();
            }
            return instance;
        }

    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        instance = this;
    }
}

清单文件

<application
            android:name=".application.App"
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:roundIcon="@mipmap/ic_launcher_round"
            android:supportsRtl="true"
            android:theme="@style/Theme.FullScreen">
        <activity.......

对不起,我的英语不好:/