2014-05-03 45 views
0

我使用下面的代码从FragmentActivity推出一个新片段:片段被从FragmentActivity推出没有显示出来

PlaceholderFragment placeholderFragment = new PlaceholderFragment(); 
String TAG="TestFragment"; 
FragmentManager fm = getSupportFragmentManager(); 
FragmentTransaction ft = fm.beginTransaction(); 
ft.replace(R.id.fragment_container, newFrag, TAG); 
ft.addToBackStack(TAG); 
ft.commit(); 

的Placeholderfragment:

public class PlaceholderFragment extends Fragment { 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 
     View rootView = inflater.inflate(R.layout.fragment_main, container, 
       false); 
     return rootView; 
    } 
} 

出于某种原因,“fragment_main “布局没有显示出来。

我已经调试了流程并执行了代码,但屏幕停留在我的FragmentActivity中。 任何人都知道为什么会发生这种情况?我已经浪费了一个小时没有任何线索。

+0

尝试这种方式FragmentManager FM = getSupportFragmentManager(); FragmentTransaction ft = fm.beginTransaction(); ft.replace(R.id.fragment_container,fragmentB,tag); ft.addToBackStack(null); ft.commit(); – user3278732

+1

可能是布局问题。你确定'Activity'的布局包含一个ID为R.id.fragment_container的视图,你确定布局R.layout.fragment_main没有问题吗?如果您同时发布'Activities'和'Fragments'布局,我们可能会进一步帮助您。 –

+0

@ user3278732您的评论的目的究竟是什么?他已经正确执行了“FragmentTransaction”。请不要在评论中发布这样的代码... –

回答

0

@Xaver Kapeller:你说的对,原来R.id.fragment_container被FragmentActivity的父线性模板遮住了,因为它有指定的“fill_parent”。

看起来像我的片段的概念不是很清楚:P