如何在一个活动中添加两个片段

时间:2014-08-18 12:39:37

标签: android fragment

Android:我在一个活动上有一个列表片段。根据选择,另一个片段将显示在同一个活动上 但是另一个片段应该被替换,当列表片段被修复时我不知道该怎么做!

2 个答案:

答案 0 :(得分:1)

从谷歌指南中替换片段:http://developer.android.com/training/basics/fragments/fragment-ui.html

// Create fragment and give it an argument specifying the article it should show
ArticleFragment newFragment = new ArticleFragment();
Bundle args = new Bundle();
args.putInt(ArticleFragment.ARG_POSITION, position);
newFragment.setArguments(args);

FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();

// Replace whatever is in the fragment_container view with this fragment,
// and add the transaction to the back stack so the user can navigate back
transaction.replace(R.id.fragment_container, newFragment);
transaction.addToBackStack(null);

// Commit the transaction
transaction.commit();

答案 1 :(得分:1)

开发人员门户网站中有guide on Fragments。看看"programmatically add"部分(实际上是整个指南)。简而言之:您需要一个用作片段容器的ViewGroup和一个用于在此容器中添加/替换片段的FragmentTransaction

类似的东西(取自指南):

FragmentManager fragmentManager = getFragmentManager()
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
ExampleFragment fragment = new ExampleFragment();
fragmentTransaction.add(R.id.fragment_container, fragment);//fragment_container is the ID of the ViewGroup container in your layout
fragmentTransaction.commit();

在您的活动中。

编辑:

长话短说 - 不要在活动的布局中放置固定的片段。而是放置一个容器,动态add第一个片段在容器中,并在需要时将其替换为另一个片段(通过使用FragmentTransaction' s replace)。