Android:如何在选项卡内从一个片段导航到另一个片段? [关闭]
Posted
技术标签:
【中文标题】Android:如何在选项卡内从一个片段导航到另一个片段? [关闭]【英文标题】:Android : How to Navigate from one fragment to another , within a Tab? [closed] 【发布时间】:2012-06-01 00:52:09 【问题描述】:应用程序有两个选项卡,选项卡 A 和选项卡 B 都扩展了 Fragment。现在我的问题是,当我单击选项卡 B 的列表项时,应该在选项卡中调用一个新的片段 C。使用以下代码,我可以调用 Fragment C ,但不能在选项卡中调用。
Intent intent = new Intent();
intent.setClass(getActivity(), C.class);
startActivity(intent);
当我使用活动时,我可以通过使用 ActivityGroup 来解决我的问题。 Fragments有没有类似的方式。
【问题讨论】:
【参考方案1】:尝试在点击列表项上使用此代码
private void stackAFragment()
Fragment f;
f = new MedicationOrderFragment();
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.main_details_fragment_container, f);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
ft.addToBackStack(null);
ft.commit();
【讨论】:
感谢您的回复,我尝试了您的回答,但没有成功。当我使用活动时,我可以通过使用 ActivityGroup 来解决我的问题。 Fragments有没有类似的方式。 其实这是一个非常好的fragment方式。但不要忘记,您只能在活动(或 fragmentActivity ...等)中添加新片段。你应该看看这个developer.android.com/training/implementing-navigation/…【参考方案2】:尝试替换您的片段:
protected void replaceDataFragment(Fragment fragment)
android.app.FragmentTransaction ftr = getFragmentManager().beginTransaction();
ftr.replace(R.id.data<id of your fragment layout>, fragment);
ftr.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
ftr.commit();
【讨论】:
感谢您的回复,我尝试了您的回答,但没有成功。当我使用活动时,我可以通过使用 ActivityGroup 来解决我的问题。 Fragments有没有类似的方式。【参考方案3】:使用此代码,您可以使用意图启动一个新活动。 尝试在您的片段中使用它:
getSupportFragmentManager().beginTransaction().replace(
R.id.my_container_in_xml, new MyFragment(), 0).commit();
【讨论】:
感谢您的回复,我尝试了您的回答,但没有成功。当我使用活动时,我可以通过使用 ActivityGroup 来解决我的问题。 Fragments有没有类似的方式。以上是关于Android:如何在选项卡内从一个片段导航到另一个片段? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
[ViewPager - 如何使用按钮从一个页面导航到另一个页面?