Android:我在一个活动上有一个列表片段。根据选择,另一个片段将显示在同一个活动上 但是另一个片段应该被替换,当列表片段被修复时我不知道该怎么做!
答案 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)。