【发布时间】:2011-09-03 02:56:56
【问题描述】:
当相机 Activity 返回时,承载此片段的 Activity 会调用其 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);
}
}
【问题讨论】:
-
查看这个帖子,有问题描述和常见的解决方法:stackoverflow.com/questions/6147884/…
-
其他阅读本文的人请确保您通过
requestCode >= 0! -
还要确保你的 Activity LauchMode 不能是 singleInstance 或 singleTask。否则 onActivityResult 将不会被调用
-
看到这个链接可能对你有帮助:androidtutorialonline.com/onactivityresult-in-fragment
-
我们需要将Activity中的onActivityResult重定向到Fragment。参考这个链接:codexpedia.com/android/…
标签: android android-fragments android-activity