【发布时间】:2017-02-16 15:33:56
【问题描述】:
首先,我是 Android 编程新手。 我想从图库中选择一张图片并上传。 所有这一切都来自一个片段。 问题是当我从片段中选择图像时,返回到第一个片段,而不是调用它的片段。 我对此进行了搜索,但选择图像后不返回 onActivityResult 这个https://inthecheesefactory.com/blog/how-to-fix-nested-fragment-onactivityresult-issue/en 不适合我 谢谢
这是我的代码
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Log.e("fragment","fragment");
if (resultCode == RESULT_OK) {
if (requestCode == SELECT_PICTURE) {
// Get the url from data
selectedImageUri = data.getData();
if (null != selectedImageUri) {
// Get the path from the Uri
String path = getPathFromURI(selectedImageUri);
//Log.i(TAG, "Image Path : " + path);
// Set the image in ImageView
}
}
}
}
void openImageChooser() {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
getActivity().startActivityForResult(Intent.createChooser(intent, "Select Picture"), SELECT_PICTURE);
}
更新:已解决
除了调用 startActivityForResult 之外,我都说了帖子
void openImageChooser() {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Picture"), SELECT_PICTURE);
}
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 122) {
// Do your job
if (resultCode == RESULT_OK) {
if (requestCode == SELECT_PICTURE) {
// Get the url from data
selectedImageUri = data.getData();
if (null != selectedImageUri) {
// Get the path from the Uri
String path = getPathFromURI(selectedImageUri);
//Log.i(TAG, "Image Path : " + path);
// Set the image in ImageView
guardar();
}
}
}
}
}
【问题讨论】:
-
只使用
startActivityForResult而不首先使用getActivity。否则,在Fragment的父Activity中实现onActivityResult -
试过了,但没有。当我选择图像返回到第一个片段
-
该帖子涵盖了您需要的所有内容。再读一遍?
-
我再次阅读了所有帖子并再次重新编写代码,但什么也没有。你知道有什么更简单的方法吗?
-
你可以edit你的帖子更新代码吗?您做了多少调试以确定它不起作用?
标签: android android-fragments android-intent android-gallery