2014-05-03 47 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