package com.yaoyumeng.v2ex.ui.fragment; import android.os.Bundle; import android.support.v4.app.Fragment; import com.umeng.analytics.MobclickAgent; import com.yaoyumeng.v2ex.model.ProfileModel; import com.yaoyumeng.v2ex.ui.BaseActivity; import com.yaoyumeng.v2ex.ui.widget.FootUpdate; import com.yaoyumeng.v2ex.utils.AccountUtils; /** * Created by yw on 2015/5/3. */ public class BaseFragment extends Fragment implements AccountUtils.OnAccountListener { protected boolean mIsLogin; protected ProfileModel mLoginProfile; protected BackHandledInterface mBackHandledInterface; protected FootUpdate mFootUpdate = new FootUpdate(); public static interface BackHandledInterface { public abstract void setSelectedFragment(BaseFragment selectedFragment); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mIsLogin = AccountUtils.isLogined(getActivity()); if (mIsLogin) mLoginProfile = AccountUtils.readLoginMember(getActivity()); AccountUtils.registerAccountListener(this); mBackHandledInterface = (BackHandledInterface) getActivity(); } @Override public void onStart() { super.onStart(); //告诉FragmentActivity,当前Fragment在栈顶 mBackHandledInterface.setSelectedFragment(this); } @Override public void onResume() { super.onResume(); MobclickAgent.onPageStart(this.toString()); } @Override public void onPause() { super.onPause(); MobclickAgent.onPageEnd(this.toString()); } @Override public void onDestroy() { AccountUtils.unregisterAccountListener(this); super.onDestroy(); } @Override public void onLogout() { mIsLogin = false; } @Override public void onLogin(ProfileModel profile) { mIsLogin = true; mLoginProfile = profile; } public boolean onBackPressed() { return false; } final public BaseActivity getBaseActivity() { return ((BaseActivity) super.getActivity()); } final public void showProgress(int messageId) { getBaseActivity().showProgressBar(messageId); } final public void showProgress(boolean show) { getBaseActivity().showProgressBar(show); } }