AUF(Always Use Fragments)-activity 使用 fragment
2015-09-21 18:23
435 查看
对于任务界面都使用Frament,总是使用fragment的原则,这是实际开发中最可能使用的模式.
1.定义通过的布局文件来托管Fragment.
2.定义出通用的Actvity抽象类。
3. 实现Fragment
4. 实现具体的activtiy并传入要调用的Frament.
这里给出公共的布局与activity的代码 。
//通用布局文件,只需要一个FramentContainer
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/fragmentConatiner"
tools:context="${relativePackage}.${activityClass}" >
</FrameLayout>
public abstract class SingleFragmentActivity extends FragmentActivity {
protected abstract Fragment createFragment();
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(getlayoutResId());
FragmentManager fm = getSupportFragmentManager();
Fragment fragment = fm.findFragmentById(R.id.fragmentConatiner);
if (fragment == null) {
fragment = createFragment();
fm.beginTransaction() //
.add(R.id.fragmentConatiner, fragment).commit();
}
}
//子类也可以使用自己的布局文件
protected int getlayoutResId() {
return R.layout.activity_fragment;
};
}
1.定义通过的布局文件来托管Fragment.
2.定义出通用的Actvity抽象类。
3. 实现Fragment
4. 实现具体的activtiy并传入要调用的Frament.
这里给出公共的布局与activity的代码 。
//通用布局文件,只需要一个FramentContainer
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/fragmentConatiner"
tools:context="${relativePackage}.${activityClass}" >
</FrameLayout>
public abstract class SingleFragmentActivity extends FragmentActivity {
protected abstract Fragment createFragment();
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(getlayoutResId());
FragmentManager fm = getSupportFragmentManager();
Fragment fragment = fm.findFragmentById(R.id.fragmentConatiner);
if (fragment == null) {
fragment = createFragment();
fm.beginTransaction() //
.add(R.id.fragmentConatiner, fragment).commit();
}
}
//子类也可以使用自己的布局文件
protected int getlayoutResId() {
return R.layout.activity_fragment;
};
}
相关文章推荐
- Android Fragment 基本了解(图文介绍)
- Android Fragment的使用方法(翻译)
- Android基础之使用Fragment适应不同屏幕和分辨率(分享)
- Android中给fragment写入参数的轻量开发包FragmentArgs简介
- Fragment里添加ListView不要用ListFragment
- 详解Android开发中Fragment的使用
- Android中fragment嵌套fragment问题解决方法
- Android基础之Fragment与Activity交互详解
- Android基础之使用Fragment控制切换多个页面
- Fragment
- Android Fragment 真正的完全解析(下)
- Android之Fragment
- Fragment+viewpager+Fragment 嵌套 第二次进入该fragment不显示数据
- android fragment详细介绍
- Android4.0-Fragment框架实现方式剖析
- Fragment-FragmentMannager中的方法
- Fragment与Activity通讯
- 理解Fragment生命周期
- android 之Fragment
- Fragment的生命周期