对于任务界面都使用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>
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;
};
}