How could I simplify the onCreate()
method? Maybe via compact and properly-named methods?
public class FilterActivity extends FragmentActivity {
private Bundle args;
private FilterFragment filterFragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_3_filter);
if (savedInstanceState == null) {
args = getIntent().getExtras();
} else {
args = savedInstanceState.getBundle(Keys.args);
}
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
filterFragment = new FilterFragment();
filterFragment.setArguments(args);
if (savedInstanceState == null) {
fragmentTransaction.add(R.id.containerOfFilterFragment, filterFragment);
} else {
fragmentTransaction.replace(R.id.containerOfFilterFragment, filterFragment);
}
fragmentTransaction.commit();
filterFragment = (FilterFragment)
getSupportFragmentManager().findFragmentById(R.id.containerOfFilterFragment);
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putBundle(Keys.args, args);
}
}