Fragment应用

使用母页和子页配合展示内容;母页和子页都有自己的activity。

母页是含有frameLayout控件的页面。子页通过配置,在frameLayout控件中显示;frameLayout本身没有任何内容。

-------------------------------------------------------------------------------------------------------------------------------------------------------------

母页内容(test_activity_fragment.xml)

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/fragmentContainer" >

</FrameLayout>

在母页的activity中对FrameLayout控件配置子页。子页就是标准的Android XML File。

如何对FrameLayout控件配置子页

FragmentManager对象,母页activity管理所有的子页。
复制代码
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.test_activity_fragment);
        FragmentManager fm = getFragmentManager();
        //找到含有fragment的视图,先在FragmentManager中,沒有就創建,并添加到FragmentManager
        Fragment fragment = fm.findFragmentById(R.id.test1_fragment);
        if (fragment == null) {
            fragment = new CrimeFragment();//使用子页的activity
            fm.beginTransaction().add(R.id.test1_fragment, fragment).commit();//子页给哪个frameLayout显示,在add方法中配置,
        }
    }
复制代码

子页和activity的匹配是onCreateView方法

复制代码
@Override
    public View onCreateView(LayoutInflater inflater,
            @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.fragment_crime, container, false);


        mTitleField.setText(mCrime.getTitle());
        
     return v;

    }
复制代码

 

posted @   snake1118  阅读(139)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示