-
[Tip] TedBottomPicker 사용 중 문제 발생 해결카테고리 없음 2017. 11. 14. 02:12
즐겨쓰는 Image Picker 라이브러리인 TedBottomPicker를 새로운 프로젝트에 적용 시켰는데, 이런 에러가 뜨면서 진행이 되지 않았다.
No virtual method load(Landroid/net/Uri;)Lcom/bumptech/glide/DrawableTypeRequest; in class Lcom/bumptech/glide/RequestManager; or its super classes (declaration of 'com.bumptech.glide.RequestManager' ~~~ 이런 내용의 에러였는데,
구글에 검색해 봐도 나오지 않고, 그나마 있는 사람들도 글라이드 최선 버전으로 업그레이드 해 보라는 말 뿐이었다.
그래서 글라이드를 기존에 사용하던 3.7.0 버전에서 4.3.1 버전으로 업그레이드 시켜도 결과는 똑같았고,
다시 구글링 해 본 결과 상권님의 Github에서 해결 책을 찾을 수 있었다.
이 에러의 문제는, TedBottomPicker에서는 Glide를 3.6.1 버전을 사용 하고 있는데, 글라이드 v4 이상을 사용하는 사람들은, Builder와 함께 ImageProvider를 함께 사용해 주어야 한다.
ImageProvider는 TedBottomPicker의 Custom 메소드 이며, 화면에서 보이는 imageView와 함께 그 imageView에 해당하는 이미지의 uri를 받아서 커스텀 할 수 있다.
커스텀 없이 그냥 사용하려면,
12345678910111213141516171819TedBottomPicker tedBottomPicker = new TedBottomPicker.Builder(MainActivity.this).setImageProvider(new TedBottomPicker.ImageProvider() {@Overridepublic void onProvideImage(ImageView imageView, Uri imageUri) {Glide.with(Mainboard_Write_Post.this).load(imageUri).into(imageView);Log.d("Log", "Uri Log : " + imageUri.toString());}}).setOnMultiImageSelectedListener(new TedBottomPicker.OnMultiImageSelectedListener() {@Overridepublic void onImagesSelected(ArrayList<Uri> uriList) {}}).create();tedBottomPicker.show(getSupportFragmentManager());cs 이렇게 사용 하면 된다.
원문은 여기를 참고하자 : https://github.com/ParkSangGwon/TedBottomPicker/issues/54