gpt4 book ai didi

java - 未从 fragment 调用 onActivityResult

转载 作者:太空狗 更新时间:2023-10-29 13:44:20 29 4
gpt4 key购买 nike

我有一个包含 BottomNavigationViewNavHostFragment 的 Activity 。

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
BottomNavigationView bottomNavigationView = findViewById(R.id.bottom_navigation);

bottomNavigationView.setSelectedItemId(R.id.navigation_profile);

NavController navController = Navigation.findNavController(this, R.id.myNavHostFragment);
NavigationUI.setupWithNavController(bottomNavigationView, navController);

我还在这个父 Activity 中添加了 onActivityResult 方法。

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Toast.makeText(this,"Parent onActivity",Toast.LENGTH_SHORT).show();
for (Fragment fragment : getSupportFragmentManager().getFragments()) {
fragment.onActivityResult(requestCode, resultCode, data);
}
}

在 fragment 中,我有一个 ImageView,我在其中使用 Intent 从用户那里挑选图像。

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/jpeg");
intent.putExtra(Intent.EXTRA_LOCAL_ONLY, true);
this.startActivityForResult(Intent.createChooser(intent, "Complete action using"), RC_PHOTO_PICKER);

在 fragment 的 onActivityResult 中,我这样做:

@Override
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
Toast.makeText(getActivity(),"OnActivityResult",Toast.LENGTH_SHORT).show();

// Result returned from launching the Intent to select image for profile
if (requestCode == RC_PHOTO_PICKER && resultCode == Activity.RESULT_OK) {
Toast.makeText(getActivity(),"Called",Toast.LENGTH_SHORT).show();
}
}

问题是 onActivityResult 既未在父 Activity 中调用,也未在 fragment 中调用。

我尝试了 Answer1 中提供的各种解决方案, Answer2 , Answer3 . 但它们都不起作用!!

最佳答案

您不能将 Intent.createChooser()Intent.GET_CONTENT 一起使用 - 对于 Activity 和 Fragment 都是如此。

相反,只需将您的 Intent 直接与 startActivityForResult 一起使用即可。

关于java - 未从 fragment 调用 onActivityResult,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57229658/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com