BeatBoxActivity.java
import android.support.v4.app.Fragment; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; public class BeatBoxActivity extends SingleFragmentActivity { @Override protected Fragment createFragment() { return BeatBoxFragment.newInstance(); } }
SingleFragmentActivity.java
import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v7.app.AppCompatActivity; public abstract class SingleFragmentActivity extends AppCompatActivity { protected abstract Fragment createFragment(); protected int getLayoutResId() { return R.layout.activity_fragment; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(getLayoutResId()); FragmentManager manager = getSupportFragmentManager(); Fragment fragment = manager.findFragmentById(R.id.fragment_container); if (fragment == null) { fragment = createFragment(); manager.beginTransaction() .add(R.id.fragment_container, fragment) .commit(); } } }