Активность, на которой размещен этот фрагмент, получает onActivityResult
вызов, когда возвращается активность камеры.
Мой фрагмент запускает действие для результата с намерением, отправленным на камеру, чтобы сделать снимок. Приложение для изображений загружается нормально, делает снимок и возвращается. Однако onActivityResult
никогда не попадает. Я установил точки останова, но ничего не срабатывает. Может у фрагмента есть onActivityResult
? Я так думаю, потому что это предоставленная функция. Почему это не срабатывает?
ImageView myImage = (ImageView)inflatedView.findViewById(R.id.image);
myImage.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, 1888);
}
});
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if( requestCode == 1888 ) {
Bitmap photo = (Bitmap) data.getExtras().get("data");
((ImageView)inflatedView.findViewById(R.id.image)).setImageBitmap(photo);
}
}
requestCode >= 0
! - person Muhammad Babar   schedule 26.08.2015startActivityForResult(cameraIntent, 1888);
из фрагмента. Фрагменты - это части макета, которые не могут взаимодействовать с операцией действия, если вы не собираетесь это делать. Вы можете вызватьgetActivity().startActivityForResult(cameraIntent, 1888);
И когда результат вернется, передать его фрагментуfragment.onActivityResult(-,-,-)
- person Ian Elvister   schedule 11.03.2021