package com.gh4a.activities;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import com.gh4a.BaseActivity;
import com.gh4a.R;
import com.gh4a.loader.LoaderCallbacks;
import com.gh4a.widget.SwipeRefreshLayout;
public abstract class FragmentContainerActivity extends BaseActivity {
private Fragment mFragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final FragmentManager fm = getSupportFragmentManager();
if (savedInstanceState == null) {
mFragment = onCreateFragment();
fm.beginTransaction().add(R.id.content_container, mFragment).commit();
} else {
mFragment = fm.findFragmentById(R.id.content_container);
}
if (mFragment instanceof SwipeRefreshLayout.ChildScrollDelegate) {
setChildScrollDelegate((SwipeRefreshLayout.ChildScrollDelegate) mFragment);
}
}
protected abstract Fragment onCreateFragment();
protected Fragment getFragment() {
return mFragment;
}
@Override
public void onRefresh() {
super.onRefresh();
if (mFragment instanceof LoaderCallbacks.ParentCallback) {
((LoaderCallbacks.ParentCallback) mFragment).onRefresh();
}
}
}