安卓开发,如何解决在片段的片段里调用相册选取图片不显示的问题

情况分析:
使用menudrawer这个第三方来建一个主页,实现左边出现菜单栏,点击后跳转到不同片段Fragment的功能。如图,其中有个片段--相册。

图片说明
这个片段用的是android.support.v4.app.FragmentTabHost这个控件,具体如下:

android:id="@+id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="0"
            android:focusable="false"
            android:orientation="horizontal" />

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_weight="0" />

        <FrameLayout
            android:id="@+id/realtabcontent"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1" />
    </LinearLayout>
</android.support.v4.app.FragmentTabHost>

在这个片段里又添加了两个片段——片段1和片段2,如图:
图片说明
我现在的问题就是在片段1里,点击 按钮去相册中选择一张照片后,准备显示在ImageView上,但是不能成功显示,或者说根本就不显示选择的那张照片!
在片段一里调用相册的代码是:
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(intent, CODE_BOOK);

//CODE_BOOK 是一个Int类型的值,做判断用,这里没多大意义
在onActivityResult方法里获取这张照片,就在这个环节里出显示不出来的问题,代码是:
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK)
{
if (requestCode == CODE_BOOK)
{
Uri originalUri = data.getData(); //获得图片的uri
try
{
Bitmap bm = MediaStore.Images.Media.getBitmap(resolver, originalUri);
mylogos.setImageBitmap(bm);
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}

}

遇到这样的问题,网上搜索也不知道怎么搜索,查出问题的关节了,在包含这些片段的Activity里的onActivityResult()方法里能够获取到选择相册里的照片的路径,可是在对应的片段里却无法获取到选择的照片的路径,请教谁有有什么解决思路吗?

0
qq_41039222
qq_41039222 请问最终怎么解决了呢?我遇到同样的问题
6 个月之前 回复

1个回答

如果你startActivityForResult(intent, CODE_BOOK);是写在fragment里面的话
那@Override fragment的onActivityResult,那里面是能接受到返回值的。

0
qq_41039222
qq_41039222 请问最终怎么解决了呢?我遇到同样的问题
6 个月之前 回复
danielinbiti
danielinbiti 回复u014436704: 最好把你的布局文件贴出来。另外你片段1和片段2和Activity的关系
4 年多之前 回复
u014436704
代码运行异常 不能,我在Acitivity里加了个片段,这个片段里再加了两个片段,在这两个片段里去实现调用相册获取图片的功能,但是现在就是显示不出图片
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!