我打电话的时候:
private void openGallery() {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
getActivity().startActivityForResult(Intent.createChooser(intent, "Select Picture"),
PICK_IMAGE);
}
永远不要执行:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
我也实现了这个:
// @Override
// public void startActivityForResult(Intent intent, int requestCode) {
// // TODO Auto-generated method stub
// super.startActivityForResult(intent, requestCode);
//
// }
但仍无效。
我有这个结构 ActionBarAcitivy - > FragmentPagerAdapter - > 片段 - > 片段 - >这里startActivityForResult“片段”
请注意,此代码扩展了“片段”
此邮件无法解决!
经验后注意:
不存在任何形式,我在这个问题上花了3天,还有-1个片段,我把所有这些都放在了一个活动中(actionbaractivity)
我不打算使用很多片段,程序员不能做的就是浪费时间去发现虚构的代码。
答案 0 :(得分:1)
这一行是问题所在:
getActivity().startActivityForResult(Intent.createChooser(intent, "Select Picture"),
PICK_IMAGE);
相反,您应该在片段上调用此方法,而不是在 activity 上调用此方法。这允许系统将响应路由回正确的片段。所以只需将其替换为:
startActivityForResult(Intent.createChooser(intent, "Select Picture"),
PICK_IMAGE);
答案 1 :(得分:1)
要记住几个关键概念: