Skip to content

Instantly share code, notes, and snippets.

@EbenezerGH
Created October 18, 2015 18:04
Show Gist options
  • Save EbenezerGH/c8cac23574ba5e430bfe to your computer and use it in GitHub Desktop.
Save EbenezerGH/c8cac23574ba5e430bfe to your computer and use it in GitHub Desktop.
An example of Abstracting out and calling fragments
package com.jfyg.bignerdranch.criminalintent.activities;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import com.jfyg.bignerdranch.criminalintent.R;
public abstract class SingleFragmentActivity extends FragmentActivity {
protected abstract Fragment createFragment();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fragment);
FragmentManager fm = getSupportFragmentManager();
Fragment fragment = fm.findFragmentById(R.id.fragment_container);
if (fragment == null) {
fragment = createFragment();
fm.beginTransaction()
.add(R.id.fragment_container, fragment)
.commit();
}
}
}
/**/
package com.jfyg.bignerdranch.criminalintent.activities;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.os.Bundle;
import com.jfyg.bignerdranch.criminalintent.R;
import com.jfyg.bignerdranch.criminalintent.fragments.CrimeFragment;
public class CrimeActivity extends SingleFragmentActivity {
@Override
protected Fragment createFragment() {
return new CrimeFragment();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment