我正在开发一个仅适用于平板电脑并使用 android 4.0 的简单 android 应用程序。我的应用程序有如下主屏幕:
主要 Activity 的 Oncreate() 我使用以下代码在 main.xml 中添加 fragment A:
FragmentTransaction ft = getFragmentManager().beginTransaction();
Fragment imageFragment = new ImageFragment();
ft.replace(R.id.fragment_container, imageFragment);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.addToBackStack(null);
ft.commit();
这个 fragment A 只有一个可点击的 ImageView 。现在我希望当用户单击 ImageView 时,另一个 fragment ( fragment B)应该调用并替换 ImageView 。 Fragment B 有一个播放视频的 VideoView。
所以我的第二个屏幕应该如下所示:
我的问题是我没有得到“如何在主屏幕 Activity 中从第一个 fragment 调用第二个 fragment ?”
我可以使用不同的 Activity ,但我不想这样做,只想使用 fragment 来运行它。
请指导我。
最佳答案
这是最简单的方法:
1) 在 YourActivity
中创建一个方法:
public void goToSecondFragment(){}
FragmentTransaction ft = getFragmentManager().beginTransaction();
Fragment secondFragment = new SecondFragment();
ft.replace(R.id.fragment_container, secondFragment);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.addToBackStack(null);
ft.commit();
}
2) 在你的第一个 fragment 中,当你想替换它时,调用:
YourActivity activity = (YourActivity) getActivity();
activity.goToSecondFragment();
关于android - 如何在单个 Activity 中显示第一个 fragment 的第二个 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15897501/