動態(tài)添加Fragment

Activity派生自FragmentActivity,其實這是有關(guān)Fragment的基礎(chǔ)知識,只有FragmentActivity才能內(nèi)嵌fragment頁面,普通Activity是不行的。

public class Fragment2 extends Fragment {

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    View view=inflater.inflate(R.layout.layout2, container, false);
    return view;
}

}

動態(tài)添加Fragment主要分為4步:

1.獲取到FragmentManager(注:getSupportFragmentManager,此Activity繼承的是FragmentActivity)。

2.開啟一個事務(wù),通過調(diào)用beginTransaction方法開啟。

3.向容器內(nèi)加入Fragment,一般使用replace方法實現(xiàn),需要傳入容器的id和Fragment的實例。

4.提交事務(wù),調(diào)用commit方法提交。

public class MainActivity extends FragmentActivity {
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Display display = getWindowManager().getDefaultDisplay();
    if (display.getWidth() > display.getHeight()) {
        Fragment1 fragment1 = new Fragment1();
        getSupportFragmentManager().beginTransaction().replace(R.id.main_layout, fragment1).commit();
    } else {
        Fragment2 fragment2 = new Fragment2();
        getSupportFragmentManager().beginTransaction().replace(R.id.main_layout, fragment2).commit();
            }
        }
}

源碼地址:https://github.com/luojunquan/FragmentDemo

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容