Amo*_*tir 27 android android-fragments
我在从Android中的相册导入图片时遇到问题,因为onActivityResult()从不调用该方法.
这是我写的代码(从片段调用而不是活动):
Intent galleryIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
getActivity().startActivityForResult(galleryIntent, PICK_IMAGE);
Run Code Online (Sandbox Code Playgroud)
顺便说一句,我已经定义了onActivityResult()但它永远不会触发:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.d(TAG, "onActivityResult"); // not printed
}
Run Code Online (Sandbox Code Playgroud)
知道这有什么问题吗?
谢谢!
gno*_*bal 112
要onActivityResult()调用片段,您应该调用片段的版本startActivityForResult(),而不是活动的版本.所以在你的片段代码中,替换
getActivity().startActivityForResult(galleryIntent, PICK_IMAGE);
Run Code Online (Sandbox Code Playgroud)
同
startActivityForResult(galleryIntent, PICK_IMAGE);
Run Code Online (Sandbox Code Playgroud)
jeg*_*umi 16
使用此代码:
Intent galleryIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
getActivity().startActivityForResult(galleryIntent, PICK_IMAGE);
Run Code Online (Sandbox Code Playgroud)
onActivityResult必须位于包含Fragment的Activity中.从那里你可以调用片段的任何方法,而不是片段.
MyFragment myFragment = (MyFragment) getSupportFragmentManager().findFragmentById(R.id.fragment);
myFragment .onCameraResult(requestCode, resultCode, intent);
Run Code Online (Sandbox Code Playgroud)
无论你想做什么都去做
| 归档时间: |
|
| 查看次数: |
30120 次 |
| 最近记录: |