我搜索了有关我的问题的解决方案,但没有找到与我的项目配置完全匹配的内容。让我来解释一下你。
我有一个包含NavigationView的 MainActivity 。 MainActivity包含 MainActivityFragment - 通过NavigationView,我希望您完全理解我想说的内容。这是默认设置,也是唯一一个可直接从MainActivity访问的Fragment。
以下是我在MainActivity中展示MainActivityFragment的方法:
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction().replace(R.id.content, new MainActivityFragment()).commit();
点击导航菜单项时,会显示 DialogFragment :
if (id == R.id.nav_add_poi) {
new AddPoiFragment().show(getSupportFragmentManager(), AddPoiFragment.TAG);
} else if (id == R.id.nav_report_event) {
new AddEventFragment().show(getSupportFragmentManager(), AddEventFragment.TAG);
}
MainActivityFragment包含一个包含四个片段的ViewPager。
在AddPoiFragment(DialogFragment)中,用户可以拍照。以下是我管理onActivityResult内容的方法:
startActivityForResult(takePictureIntent, REQUEST_TAKE_PHOTO);
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_TAKE_PHOTO && resultCode == RESULT_OK) {
Toast.makeText(getActivity(), "Hello", Toast.LENGTH_SHORT).show();
}
}
似乎永远不会触发onActivityResult。我已尝试使用其他解决方案getActivity().startActivityForResult()
,但正如我所说,这些解决方案与我的配置完全不符,使用时会出错。