활동에 컨테이너를 사용해야합니다. 조각 FragmentManager를 대체 할 수 있습니다.
예를 들어 레이아웃 활동
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fragmentContainer"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</FrameLayout>
그리고 당신의 활동 :
public abstract class SingleFragmentActivity extends Activity {
protected abstract Fragment replaceContentFragment();
protected int getLayoutActivity() {
return R.layout.single_fragment_activity;
}
@Override
public void onCreate(Bundle saveInstanceState) {
super.onCreate(saveInstanceState);
this.setContentView(this.getLayoutActivity());
this.addFragment();
}
private void addFragment() {
FragmentManager fragmentManager = this.getFragmentManager();
Fragment fragment = fragmentManager
.findFragmentById(R.id.fragmentContainer);
if (fragment == null) {
fragment = this.replaceContentFragment();
fragmentManager.beginTransaction()
.add(R.id.fragmentContainer, fragment).commit();
}
}
}
당신은 당신의 활동이 SingleFragmentActivity에서 상속과 replaceContentFragment 방법을 재정의 할 수 있습니다.