Я использовал библиотеку средства выбора изображений (написано на Java). Он предоставляет результат выбора для действия вызывающего абонента, используя переопределенную функцию. Так как моя активность вызывающего абонента в kotlin, переопределенная функция преобразуется в лямбда-функцию. Но код внутри лямбда-функции не выполняется. Это проблема Java-Kotlin? Или в коде есть ошибка?
Вот мой код:
UtilLib.getPhoto(this, ChooseType.REQUEST_ANY)
.enqueue({ path ->
Picasso.with(applicationContext)
.load("file://$path")
.error(R.drawable.profile)
.resize(150, 150)
.into(ivProfilePic)
})
Ссылка на библиотеку: https://github.com/VinayRathod/UtilLib
Вот также код Java, который будет отлично работать (Java).
ChooseType chooseType =
((RadioButton) findViewById(R.id.choose_gallery)).isChecked() ? ChooseType.REQUEST_PICK_PICTURE :
((RadioButton) findViewById(R.id.choose_camera)).isChecked() ? ChooseType.REQUEST_CAPTURE_PICTURE :
ChooseType.REQUEST_ANY;
UtilLib.getPhoto(this, chooseType)
.enqueue(new OnImageChooserListener() {
@Override
public void onImageChoose(String path) {
ivPath.setText("" + path);
Glide.with(MainActivity.this).load(new File(path)).into(iv);
}
});