package com.ericliudeveloper.sharedbillhelper.ui.activity;
import android.app.Fragment;
import android.app.FragmentManager;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import com.ericliudeveloper.sharedbillhelper.R;
/**
* Created by liu on 8/06/15.
*/
public abstract class ContainerActivity extends BaseActivity {
protected abstract Fragment getFragment();
protected abstract String getFragmentTag();
/**
* In case the subclass wants to use a different layout xml file,
* the child class can override this method to supply the layout resource id
*
* @return
*/
protected int getChildLayoutResID() {
return -1;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
int layoutResID = getChildLayoutResID();
if (layoutResID > 0) {
setContentView(layoutResID);
} else {
setContentView(R.layout.empty_container);
}
View container = findViewById(R.id.container);
if (container != null) {
String tag = getFragmentTag();
FragmentManager fm = getFragmentManager();
if (fm.findFragmentByTag(tag) == null) {
Fragment frag = getFragment();
fm.beginTransaction().add(R.id.container, frag, tag).commit();
}
}
}
}